MySQL) DB 생성 시간, 수정 시간

Jobmania·2023년 3월 25일
0

SQL 잘쓰기

목록 보기
12/16
post-thumbnail
CREATE TABLE user (
    `id` INT NOT NULL AUTO_INCREMENT,
    `email` varchar(30) NOT NULL,
    `password` varchar(30) NOT NULL,
    `reg_date` DATETIME DEFAULT CURRENT_TIMESTAMP,
    `mod_date` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY(id)
);

이전까지는 서버에서 LocalDateTime을 통해 시간에 대한 열에 data를 입력했지만, 시간에 대한 로직을 수행하지 않는다면 굳히 서버에서 처리하는게 아니라 db에서 처리할 수 있다는 정보를 알게 되었음.

CURRENT_TIMESTAMP는 데이터 접근 시의 당시 현재 시간
ON UPDATE 키워드에 의해 갱신 시마다 Updated 칼럼의 Value는 해당 시점의 현재 시간으로 Update 된다.

reg_date에는 INSERT INTO ~~ 가 수행되면 (생성시) DB단의 현재시간,
mod_date에는 UPDATE ~~~가 수행되면 (수정시) DB의 현재시간이 주입된다.

최초생성시에는 mod_date에 reg_date와 같은 값이 들어가게 된다.

profile
HelloWorld에서 RealWorld로

0개의 댓글