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

MySQL STRICT_TRANS_TABLES 오류 해결기 (그누보드 서버 이전 시)


상황

서버를 이전한 뒤, 동일한 환경에서 동작하는 다른 그누보드는 문제없는데 특정 설치본에서만 글쓰기 오류가 발생했습니다.
확인 결과, MySQL의 STRICT_TRANS_TABLES 설정이 원인이었고, 이를 제거하여 임시 조치했습니다.


1. MySQL 설정 변경

/etc/my.cnf.d/server.cnf 파일을 편집합니다.

[mysqld]
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

변경 후 MySQL을 재시작합니다.


2. 설정 확인

mysql> select @@global.sql_mode;
+--------------------------------------------+
| @@GLOBAL.sql_mode                          |
+--------------------------------------------+
| NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+
1 row in set (0.00 sec)

정상적으로 STRICT_TRANS_TABLES 항목이 제거된 것을 확인할 수 있습니다.


3. 그누보드 추가 설정

예전 버전의 그누보드에서는 MySQL strict 모드와 호환 문제가 있을 수 있습니다.
이 경우 /data/dbconfig.php 파일을 열고 아래 설정을 확인합니다.

define('G5_MYSQL_SET_MODE', true);
  • 최근 설치본 → 기본값이 이미 true
  • 예전 설치본 → false 로 되어 있으면 true 로 수정해야 글쓰기 오류 없이 정상 동작

정리

  • 원인: MySQL의 STRICT_TRANS_TABLES 모드가 기존 그누보드와 호환되지 않아 발생
  • 임시 조치: sql_mode에서 STRICT_TRANS_TABLES 제거
  • 근본 조치: dbconfig.php의 G5_MYSQL_SET_MODE 값을 true 로 설정

댓글

알짜게시판

그누보드 SmartEditor2Skin.html 다운로드 되는 현상
그누보드 부트스트랩 테마 예제로 사용중인 main.php
그누보드 유튜브 스킨
그누보드 cdn.jsdelivr.net 에서 ssl 인증서 오류 문제
그누보드 아이디 대신 이메일로 회원 가입하기
그누보드 사이드바 만들기
열람 그누보드 1364 : Field 'xxxxx' doesn't have a default value
그누보드 웹폰트 적용하기
그누보드 CKEditor 5 플러그인
그누보드 회원 가입일 기준으로 이용기간 정하기
그누보드 sql_fetch, sql_query 안쓰고 직접 mysql 사용하기
그누보드 새 글 정리하기
그누보드 CKEditor 5 플러그인
그누보드 임의로 테마설정하기
그누보드 CKEditor 5 플러그인
그누보드 클라우드플레어(Cloudflare) 사용시 아이피 주소 및 URL…
그누보드 훅을 통한 글쓰기, 댓글 알림
그누보드 Syntax Highlight 적용하기