블로그

[MySQL] mysql error 1364 Field doesn't have a default values 해결법

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 서버를 재시작해 줍니다.

2016-05-09 목록