MYSQL 컬럼 Default 설정 (DATETIME)

> Datetime type의 컬럼 Create 문에 아래와 같이 사용함으로 Default 값을 설정할 수 있다. (현재 timestamp)

FRST_RGST_DTTM   DATETIME DEFAULT   CURRENT_TIMESTAMP

LAST_UPDT_DTTM   DATETIME ON UPDATE CURRENT_TIMESTAMP

 

> DEFAULT CURRENT_TIMESTAMP

현재 Timestamp 값을 Insert 시점에 기본값으로 Set 한다.

 

> ON UPDATE CURRENT_TIMESTAMP

해당 row가 Update될 경우 자동으로 해당 시점의 Timestamp 값으로 set 된다.

 

> 기타

  1. 2가지를 병행 기재 함으로 Insert / Update 될 경우 자동 설정을 모두 취할 수 있다.
  2. 단, Java – Hibernate 와 같은 ORM 과 함께 사용할 경우 Entity Class에 @DynamicInsert, @DynamicUpdate  와 같은 어노테이션을 사용하여, Default를 자동 Set하기 원하는 컬럼이 DML에 포함되지 않도록 한다. (DML에 포함될 경우 NULL로 INSERT/UPDATE 될 수 있다.)

 

참조:
http://dev.mysql.com/doc/refman/5.7/en/timestamp-initialization.html
http://optimize-this.blogspot.com/2012/04/datetime-default-now-finally-available.html

답글 남기기

이메일 주소는 공개되지 않습니다.