글쓰기, 댓글쓰기 에러. MySQL 버전에 따른 에러인지

글쓰기, 댓글쓰기 에러. MySQL 버전에 따른 에러인지

QA

글쓰기, 댓글쓰기 에러. MySQL 버전에 따른 에러인지

답변 1

본문

서버이전을 했는데, 예전서버에서 멀쩡하게 작동하던 글쓰기가 새 서버에서 에러가 납니다.

 

1364 : Field 'wr_comment_reply' doesn't have a default value 

 

SQL문에서 wr_comment_reply 필드의 값은 생략되어 있습니다.

필드 설정이 null no, default none 으로 되어있어서 그런 것 같은데, 그누보드의 게시판 테이블에 여러 필드들이 기본적으로 같은 설정이더군요.

 

예전서버(5.5.42)에선 괜찮았는데, 새 서버(5.6.29)에선 허용이 안되는 설정인가요?

아니면 제가 모르는 다른 부분이 에러인지...


도움 좀 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 1

서버 이전을 하시면서 어떤식으로 이전이 된건가요~

혹 그누보드의 버전이 업데이트를 하셨다거나 다른 잇슈가 있지는 않으셨는지요?

말씀하신 대로 기본 value가 없다는것으로 보아 남겨주신 이유가 맞는것 같습니다. 

서버이전은 가장 간단한 방법으로 했습니다.
새로운 서버로 그누보드 디렉토리 자체를 FTP로 옮기고, DB도 예전 서버에서 export해서 새 서버에서 import 했습니다.
그리고 그누보드에서 DB연결 설정 수정해 주었구요.

다른 기능들은 잘 되는데, 글쓰기 댓글쓰기 등 새로운 레코드를 입력하는 작업에서 같은 조건으로 에러가 나네요.

참고로 그누보드5로 만든 사이트입니다.

답을 찾았습니다.
MySQL 5.6 부터는 sql_mode에 STRICT_TRANS_TABLES 가 기본으로 추가되어 있네요.
덕분에 Null no, Default None이면 입력쿼리에서 무조건 값이 요구됩니다.
설정파일(/etc/my.cnf)에서 sql_mode에 STRICT_TRANS_TABLES를 지워주면 되네요.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 123,476
© SIRSOFT
현재 페이지 제일 처음으로