...
SQL 오류(1067): Invalid default value for 'datetime' 본문
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 |