[MySQL] mysql error 1364 Field ‘name’ doesn’t have a default values

MySQL 5.6 이전에는 필드 생성시 default 값을 따로 지정을 안 해도 insert 시에 ” 처럼 자동으로 디폴트 값이 반영이 되었습니다.
5.6 이후부터는 STRICT 모드라고 해서 테이블 생성시에 default 값을 지정하지 않을 경우 insert 시에 아래와 같이 에러가 발생합니다.

정확하게 필드마다 값을 지정해주는것도 좋지만 외부프로그램을 사용할때 특별히 지정 안해줘도 되는 부분에 ” 이걸 다 셋팅해주긴 귀찮은 편입니다.

mysql.cnf 파일에서 “sql_mode”부분을 찾아서 다음 부분을 제외 하고 재시작을 해주시면 됩니다.

#sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 'STRICT_TRANS_TABLES' 항목을 제외하고 mysql 재시작 

sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
이전글
다음글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다