oracle에서는 sysdate로 현재 날짜를 지정할 수 있지만 mysql에서는 적용되지 않음
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()
);
'mysql' 카테고리의 다른 글
mysql_connection pool 설정 (0) | 2022.12.12 |
---|---|
mysql_sysdate (0) | 2022.12.03 |
MySQL Workbench 사용자권한 (0) | 2022.12.03 |
mysql_자동증분(auto increment) (0) | 2022.10.24 |
1024_mysql (0) | 2022.10.24 |