[ MySQL | TIL ] MySQL에서 createdAt과 updatedAt 설정

Haksoo JI·2023년 1월 19일
0

[ TIL ]

목록 보기
20/30

createdAt과 updatedAt 설정

데이터베이스에서 createdAt과 updatedAt 칼럼을 설정할 때, 입력하지 않아도 자동으로 값이 갱신되도록 설정하는 방법에 대해서 알아본다.

먼저 각 칼럼의 의미를 알아보면

정의

  • createdAt - 데이터가 최초 생성(insert)된 시간. 이후 값이 불변한다.
  • updatedAt - 데이터가 마지막으로 수정(update)된 시간. 생성되었을 때는 createdAt과 값이 같고 이후에는 수정될 때마다 값이 갱신된다.

설정

프롬프트 사용시

  • default값 설정 - now() 사용
    create table users (
        id int not null auto_increment,
        createdAt datetime not null default now(),
        updatedAt datetime not null default now() on update now(),
        primary key(id),
        default character set = utf8mb4
        engine = InnoDB;
  • now() 대신 CURRENT_TIMESTAMP 를 사용해도 된다
    create table users (
        id int not null auto_increment,
        createdAt datetime not null default CURRENT_TIMESTAMP,
        updatedAt datetime not null default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
        primary key(id),
        default character set = utf8mb4
        engine = InnoDB;

워크벤치 사용시

워크벤치 이미지
이런식으로 설정한다.

profile
아직 씨앗입니다. 무슨 나무가 될까요?

0개의 댓글