MariaDB , MySQL -- timestamp vs. datetime, now() , current_timestamp
환경 : MariaDB 5.5, windows 10 64bit, HeidiSQL
참고 : http://stackoverflow.com/questions/409286/should-i-use-field-datetime-or-timestamp
https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_current-timestamp
timestamp ; 서버의 timezone 을 기반으로 UTC 로 변환되어 저장된다.
--> timezone을 바꾸면, 시간도 바뀜.
; 사용범위 = ‘1970-01-01 00:00:01’ UTC ~ ‘2038-01-19 03:14:07’ UTC
; 4 byte 저장.
datetime ; 입력값 그대로 서버에 저장된다.
; 사용범위 = ‘1000-01-01 00:00:00’ ~ ‘9999-12-31 23:59:59’
; 8 byte 저장.
** NOW() 사용하기
참고 : https://mariadb.com/kb/en/mariadb/now/
-- timestamp 컬럼에 default 값으로 사용할수있다.
CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP == NOW()
--> 3가지가 모두 같은 기능..
select now();
select current_timestamp();
select current_timestamp;
select curdate();
select curtime();
** 사용 예
CREATE TABLE Orders
(
OrderId int NOT NULL,
ProductName varchar(50) NOT NULL,
OrderDate timestamp NOT NULL DEFAULT NOW(),
PRIMARY KEY (OrderId)
);
'database' 카테고리의 다른 글
mssql -- database 생성후 접속 권한 부여하기 (0) | 2019.12.19 |
---|---|
sqlite --- upsert, INSERT OR REPLACE (0) | 2019.11.15 |
mariadb 5.5 설치 - windows 10 (0) | 2017.04.14 |
mssql -- View 생성, 삭제, CRUD (2) | 2016.05.19 |
mssql -- 소수점이하 정확한 값은 decimal 사용하라 (0) | 2016.05.19 |