Mysql의 timestamp 컬럼을 쓰고 있는데,
큰 수의 년도를 저장하려고 시도했더니
Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value:
이런 에러가 발생했다.
https://dev.mysql.com/doc/refman/5.5/en/datetime.html
Mysql 레퍼런스에 따르면
timestamp는 '1970-01-01 00:00:01'
UTC to '2038-01-19 03:14:07'
UTC.
이 시간의 범위를 저장할 수 있다고 한다.
애매한 시간인 2038년 1월 19일까지인 이유는
초를 4byte로 저장하기 때문이고,
그 max 값이 저 날짜이기 때문이다.
현재 timestamp의 가장 큰 값을 식으로 나타내면 아래와 같다.
long MAX = (long) Integer.MAX_VALUE * 1000;
Date date = new Date(MAX);
'개발 > Database' 카테고리의 다른 글
[Mysql] 여러 컬럼 IN문 사용하기 (2) | 2017.05.26 |
---|---|
(MyBatis) Mysql tinyint(1) boolean이 integer로 바뀌는 현상 (0) | 2015.09.17 |
[myBatis] select시 NoSuchMethodException , <init>() error (3) | 2015.04.24 |
[iBatis/myBatis] #와 $의 차이점 (6) | 2013.04.11 |
MySql] JOIN 속도를 빠르게! EXPLAIN, STRAIGHT_JOIN (3) | 2012.11.18 |