5.1 버전과 그 이전
- MySQL 5.1에서는 한 테이블 내에서
DEFAULT CURRENT_TIMESTAMP와ON UPDATE CURRENT_TIMESTAMP속성을 갖는TIMESTAMP컬럼을 각각 하나씩만 허용합니다.

- 위 처럼 한 테이블내에서 시간값에 default 값을 추가해주는 경우 기본값 설정을 할 수 없다는 문구가 발생함.
5.6 이상
- 이후 버전에서는 이러한 제한이 완화되어 두 개 이상의
TIMESTAMP컬럼에DEFAULT CURRENT_TIMESTAMP를 사용할 수 있게 되었습니다.
- 여러
TIMESTAMP컬럼에 대해DEFAULT CURRENT_TIMESTAMP와ON UPDATE CURRENT_TIMESTAMP클로즈를 사용할 수 있습니다
이유?
- 당시의 기술적인 제약과 내부 구현의 복잡성 때문이라고함.
- 워낙에 오래전에 나온 DB 버전이기에 이해는 된다..
우회방법
DATETIME컬럼 사용 + 트리거로 기본값 설정하기- 트리거 사용시 어플리케이션 레벨에서 고려하는 것을 넘어서 DB 영역까지 넘어가서 로직을 고려해야하는 사태가 발생할 것 같음.
- 어플리케이션 레벨에서 기본값을 관리하기 → 채택
Uploaded by N2T
'자바 > 리팩토링' 카테고리의 다른 글
| [리팩토링] 장바구니 기능의 경우 SOFT DELETE 와 HARD DELETE 중에 뭘 사용해야할까? (0) | 2023.10.07 |
|---|---|
| [리팩토링]__**Spring Boot에서 여러 SQL 스크립트 순차적 실행하기**__ (0) | 2023.10.02 |
| [리팩토링]Mysql 5.1 에서의 주석의 길이 제한 -_ - (0) | 2023.10.01 |
| [리팩토링]DTO 와 VO 분리 및 PERSISTENCE 생성 (0) | 2023.09.24 |
| [리팩토링] 쿠키 관리를 서버단에서 들고있다면.. (0) | 2023.09.24 |