ERROR 1067 (42000): Invalid default value

MySQL 버전에 따라 디폴트 값에 대한 문제가 있는가 봅니다.


테스트한 버전은 다음과 같습니다.

서버: Localhost via UNIX socket

서버 타입: MySQL

서버 버전: 5.7.17-log - MySQL Community Server (GPL)

제품 버전: 10

서버 문자셋: UTF-8 Unicode (utf8)



데이터 컬럼이 datetime 일때 디폴트값이 0000-00-00 00:00:00 들어가 있으면 ERROR 1067 (42000): Invalid default value 오류가 납니다.


관련 사례를 찾아보니 커넥션 스트링에 옵션을 부여 한다던지 이런저런 글들이 있었습니다.

일단 phpmyadmin 일경우 에러가 나는것을 확인했고 SSH로 콘솔로 직접 명령을 내려도 같은 에러가 발생 됨을 확인했습니다.


그럼 PHP에서 커넥션 스트링값을 수정해도 안될것 같았습니다.


해서 다음과 같이 변경을 하여 정상적으로 수행됨을 확인하였습니다.


컬럼이 datetime  일때 기본값을 0000-00-00 00:00:00  에서 1000-01-01 00:00:00  변경을 하였습니다.


혹시나 해당 값으로 같은 문제를 만나시는분들에게 도움이 되기를...

저작자 표시 동일 조건 변경 허락
신고