728x90
반응형
MySQL 5.6 이전에는 필드 생성시 default 값을 따로 지정을 안 해도 insert 시에 '' 처럼 자동으로
디폴트 값이 반영이 되었습니다. 5.6 이후부터는 STRICT 모드라고 해서 테이블 생성시에 default 값을
지정하지 않을 경우 insert 시에 아래와 같이 에러가 발생합니다.
Field 'name' doesn't have a default value
외부 프로그램을 사용시 테이블의 필드들을 모두 수정하기는 힘든 경우가 많습니다.
이런 경우 my.cnf 에서 기본 설정을 되어 있는 STRICT 모드를 해제해 줍니다.
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
sql_mode=NO_ENGINE_SUBSTITUTION
해제 후에 MySQL 서버를 재시작해 줍니다.
아니면
set session sql_mode = 'NO_ENGINE_SUBSTITUTION';
728x90
반응형
'Database > MySQL' 카테고리의 다른 글
MySQL innodb 버퍼 할당 에러 (0) | 2019.10.22 |
---|---|
MySQL 프로시저 디버그 (0) | 2019.10.22 |
MySQL Dump시 테이블 Lock 에러 (0) | 2019.10.22 |
MySQL 접속 유저 추가 (0) | 2019.10.22 |
MySQL 5.7 설정 튜닝 (0) | 2019.10.22 |