mysql에서 timestamp 타입의 칼럼의 default 값을 설정하다가 계속 위와 같은 에러가 발생하였다...
도대체 내가 뭘 잘못하고 있는 건지 정말 별짓을 다했는데 알고보니 mysql에서 정의한 timestamp의 범위를 벗어난 값을 설정하려고 해서 생긴 문제였다.
mysql 공식문서를 참고해보니,
아래와 같이 범위를 지정하고 있었다.
The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD hh:mm:ss' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.
The TIMESTAMP data type is used for values that contain both date and time parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.
DATETIME의 타입이 1000년부터 시작되는 것만 얼핏 보고 TIMESTAMP도 그럴 것이라 어림짐작하여 계속 1970-01-01 00:00:00으로 넣으려고 했었다...
1초를 더 넣지 않아서 이렇게 고생하게 될 줄은 생각도 못했다...(삭제되버린 내 하루...)
사실, 1970-01-01 00:00:01 을 넣어도 같은 에러가 발생하였다.
그 이유는 UTC기준이기 때문이다.
따라서, 우리나라 기준으로 설정을 해주기 위해서는 9시간을 더한, "1970-01-01 09:00:01" 이 범위가 되는 것이다
앞으로는 좀 더 꼼꼼히 살펴봐야겠다.
이렇게 성장하고 있는거겠지...
'MySQL' 카테고리의 다른 글
Mysql Container backup sql 생성하기 (0) | 2023.11.22 |
---|---|
[DB] DDL, DML, DCL (0) | 2023.04.12 |
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) (0) | 2022.09.14 |
[MySQL]ERROR 2002 (HY000): Can't connect to local MySQL server through socker (0) | 2022.05.26 |