...

SQL 오류(1067): Invalid default value for 'datetime' 본문

MySql

SQL 오류(1067): Invalid default value for 'datetime'

zepply 2017. 9. 12. 15:17

SQL 오류(1067): Invalid default value for 'datetime'


테스트 환경 MySQL 5.7 버전


참고 URL :: 

https://stackoverflow.com/questions/36882149/error-1067-42000-invalid-default-value-for-created-at



운영 환경에 

       적용 되어 있는 환경에서 DDL 문만 추출 후

       Create 문을 Local 에 넣게 되면  

           아래와 같은 메세지가 나오게 됩니다,


 SQL 오류(1067): Invalid default value for 'datetime'


문제점은 Column 에 들어가는 datetime 의 

            default 값이 '0000-00-00 00:00:00' 이기 때문입니다.




CREATE 가 안되는 원인을 찾아보면 

           아래와 같이 명령어를 수행하면


   show variables like 'sql_mode'\G 



 Create 가 안되는 원인은

 NO_ZERO_IN_DATE, NO_ZERO_DATE 

입니다. 


 NO_ZERO_IN_DATE, NO_ZERO_DATE  를 삭제 하면 수행이 되지만 

"운영 환경"에서는 함부로 수정 하면 안됩니다.


 

테이블 생성 작업을 완료 하기 위해서는

            생성 작업을 하기 전에 첫 줄에 아래의 문장을 적어 주면 됩니다.


 SET sql_mode = '';



테이블 생성을 완료 할 수 있을 것 입니다.

'MySql' 카테고리의 다른 글

"INTO OUTFILE" 파일을 CSV 출력 [2/2]  (0) 2017.09.18
"INTO OUTFILE" 파일을 CSV 출력 [1/2]  (0) 2017.09.18
-bash: mysql: command not found  (0) 2017.09.12
Workbench Panel 증설  (2) 2017.09.08
ERROR 1366: 1366: 에러 해결  (0) 2017.08.29