서비스에 만료일(expire_at) 같은 컬럼을 설계하다 보면, 언젠가 이런 에러를 한 번쯤 보게 된다.SQL Error [1292] [22001]: Data truncation: Incorrect datetime value: '9999-12-31 11:59:59' for column 'expire_at' at row 1 값 자체는 멀쩡해 보이는데, MySQL이 Incorrect datetime value 라면서 거부하는 상황이다. 왜 이런 에러가 나는지TIMESTAMP와 DATETIME의 차이가 뭔지왜 TIMESTAMP는 2038년까지만 되는지스프링 / JPA에서 LocalDateTime, Timestamp랑 어떻게 매핑되는지DEFAULT CURRENT_TIMESTAMP 를 DATETIME에 써도 되는..