BOARD

문제 해결

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

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 2회 작성일 26-09-16 04:20

본문

증상

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 모드를 비활성화해야 합니다.

  1. MySQL 설치 경로에서 my.ini 파일을 찾습니다.
  2. 파일 내에서 sql-mode 항목을 찾습니다.
  3. 해당 줄 앞에 #을 추가하여 주석 처리하거나, 설정을 제거합니다.
  4. 변경 예시: # sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
  5. 설정 파일을 저장한 후, 명령 프롬프트(CMD)에서 MySQL 서비스를 재시작합니다.
net stop mysql
net start mysql

주의사항 및 복구

sql-mode 설정을 변경하기 전에는 반드시 my.ini 파일을 별도의 위치에 백업해 두십시오. 만약 설정 변경 후 MySQL 서비스가 정상적으로 시작되지 않는다면, 백업해 둔 원본 파일로 되돌리고 서비스를 다시 시작하여 원래 상태로 복구해야 합니다. 또한, 다른 서비스가 특정 SQL 모드를 요구하는 환경인지 사전에 확인이 필요합니다.

적용 후 확인

설정 변경 후 그누보드 게시판에서 글을 작성하거나 회원가입을 시도하여 오류 메시지 없이 정상적으로 데이터가 저장되는지 확인합니다.

댓글목록

등록된 댓글이 없습니다.