MySQL 5.x 업그레이드 후 발생하는 데이터베이스 필드 기본값 오류 해결
페이지 정보

본문
증상
MySQL 5.0 이상 버전으로 업그레이드한 후, 그누보드에서 글쓰기나 회원가입 등 데이터를 삽입할 때 다음과 같은 오류가 발생할 수 있습니다.
1364 : Field 'mb_memo' doesn't have a default value원인
MySQL 5.0 이상부터는 엄격한 SQL 모드(STRICT_TRANS_TABLES)가 기본적으로 활성화되는 경우가 많습니다. 이 모드가 켜져 있으면, 테이블 설계 시 기본값(Default Value)이 지정되지 않은 필드에 값을 입력하지 않을 경우 데이터베이스가 삽입을 차단합니다.
해결 방법
MySQL 설정 파일인 my.ini를 수정하여 엄격한 SQL 모드를 비활성화해야 합니다.
- MySQL 설치 경로에서
my.ini파일을 찾습니다. - 파일 내에서
sql-mode항목을 찾습니다. - 해당 줄 앞에
#을 추가하여 주석 처리하거나, 설정을 제거합니다. - 변경 예시:
# sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" - 설정 파일을 저장한 후, 명령 프롬프트(CMD)에서 MySQL 서비스를 재시작합니다.
net stop mysql
net start mysql주의사항 및 복구
sql-mode 설정을 변경하기 전에는 반드시 my.ini 파일을 별도의 위치에 백업해 두십시오. 만약 설정 변경 후 MySQL 서비스가 정상적으로 시작되지 않는다면, 백업해 둔 원본 파일로 되돌리고 서비스를 다시 시작하여 원래 상태로 복구해야 합니다. 또한, 다른 서비스가 특정 SQL 모드를 요구하는 환경인지 사전에 확인이 필요합니다.
적용 후 확인
설정 변경 후 그누보드 게시판에서 글을 작성하거나 회원가입을 시도하여 오류 메시지 없이 정상적으로 데이터가 저장되는지 확인합니다.
- 이전글그누보드 관리자 페이지 Fatal error: Cannot redeclare get_filesize() 해결 방법 26.09.16
- 다음글그누보드 모바일 환경에서 팝업창이 화면을 벗어나는 문제 해결 26.09.16
댓글목록
등록된 댓글이 없습니다.