본문 바로가기

프로그래밍/이것저것 일하면서

Spring/MySQL '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp 오류

반응형

MySQL 5.7.26

고인물 레거시 시스템을 새로 만드는 중이다.

MySQL에서 datetime 컬럼을 추가 후 테스트케이스 작성 중 다음과 같은 오류가 떴다.

'0000-00-00 00:00:00' can not be represented as java.sql.Timestamp error

해당 컬럼 값은 NULL인데 왜 '0000-00-00 00:00:00' 라고 할까?

처음에 Not Null에 디폴트로 타임스탬프를 줘서 만들었다가 Nullable, 디폴트를 삭제한 것이 이유였다.

검색을 해보니 접속 정보에서 zeroDateTimeBehavior=convertToNull를 추가하라고 하는데 컬럼정보를 수정하는 것이 더 옳은 방법이라고 생각한다. 그냥 깔꼼하게 컬럼을 지우고 다시 만드니까 해결되었다. 데이터가 들어있었다면 ALTER 컬럼으로 디폴트 NULL 하면 될 것 같다.

반응형

개발자가 그리는 인스타툰 팔로우하세요!