본문 바로가기
MySql

MySQL 오류 1067 (42000) : 'created_at'에 대한 잘못된 기본값

by 베이스 공부 2020. 11. 8.
반응형

테이블을 변경하려고 할 때 오류가 표시되었습니다.

ERROR 1067 (42000): Invalid default value for 'created_at'

나는이 오류를 검색했지만 내가 찾은 것은 마치 타임 스탬프를 변경하려고 시도한 것 같아서 발생했습니다. 그러나 여기에 새 열을 추가하려고하는데이 오류가 발생합니다.

mysql> ALTER TABLE investments ADD bank TEXT;
ERROR 1067 (42000): Invalid default value for 'created_at'

내 테이블의 마지막 두 열은 created_at updated_at 입니다.

내 테이블 구조는 다음과 같습니다.


 

해결 방법

 

문제는 sql_modes 때문입니다. 다음 명령으로 현재 sql_modes를 확인하십시오.

show variables like 'sql_mode' ; 

그리고 sql_mode " NO_ZERO_IN_DATE, NO_ZERO_DATE "를 제거하여 작동합니다. 이것은 mysql 새 버전의 기본 sql_mode입니다.

다음 명령을 사용하여 sql_mode를 루트로 전역 적으로 설정할 수 있습니다.

set global sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

 

참조 페이지 https://stackoverflow.com/questions/36882149

 

 

반응형

댓글