본문 바로가기

카테고리 없음

MySQL: No_ZERO_DATE # 0000-00-00

728x90
반응형

새로운 프로젝트가 이전 버전의 프로젝트 DB에서도 돌아가는지 확인하는 작업 중 아래 오류 발생

 

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

 

위 SOME_COLUMN은 date 타입의 컬럼

MySQL에서 date 타입 컬럼의 default value가 0000-00-00으로 할 수 없어서 생기는 오류

(0000-00-00으로 .sql 파일에 DDL 문이 만들어져 있던 것은 해당 값이 가능한 구버전이었거나, 가능하도록 default 값을 변경해준 것으로 추정)

 

해당 에러는 0000-00-00 과 같은 날짜는 현실에서 존재하지 않는 date

이와 같이 실제로 존재 하지 않는 date를 값으로 입력하는 것을 방지하고 있음

 

설정을 위와 같이 바꿀 수도 있겠으나, 관리나 JavaScript와 같은 언어와의 호환을 생각하면 0000-00-00과 같이 존재하지 않는 날짜를 default로 설정하지 않는 것이 권장되는 것으로 판단

 

# No_ZERO_DATE

# No_ZERO_IN_DATE

 

참고자료

https://jaehoney.tistory.com/120

728x90
반응형