반응형
MySQL 8 DATE default 오늘 날짜
MySQL 8버전에서 컬럼이 DATE 타입일 때 default로 현재 날짜를 지정하려고 했는데
now(), current 모두 안되어서 고생을 했던 경험이 있다 😨
DATETIME인 경우 2021-10-20 12:48:32 로 시분초까지 모두 출력하기 때문에 날짜 값만 필요한 경우 값을 한 번 더 처리해야한다는 단점이 존재한다.
그래서 2021-10-20 까지 즉, 날짜 값만 저장하는 DATE를 사용하게 되었다.
컬럼 타입이 DATE 라면 current_date 를 사용해야 현재 날짜를 default 값으로 지정할 수 있다.
컬럼 타입이 DATETIME 이라면 current_time과 current_timestamp, now() 모두 사용 가능하다.
current_date와 current_time을 사용하려면 괄호로 감싸주어야 오류가 발생하지 않는다.
current_timestamp와 now()는 괄호로 감싸주지 않아도 된다.
CREATE TABLE d (
today DATE DEFAULT (current_date)
);
CREATE TABLE dt (
today DATETIME DEFAULT (current_time)
);
CREATE TABLE dtt (
today DATETIME DEFAULT current_timestamp
);
CREATE TABLE dttt (
today DATETIME DEFAULT now()
);
반응형