[DB] mysql 기능 on update current_timestamp 사용하기
by Roel Downey728x90
반응형
mysql에서 ON UPDATE CURRENT_TIMESTAMP란
데이터가 바뀔 때마다 자동으로 원하는 컬럼에 현재 시간으로 자동 업데이트 해주는 기능이다.
보통 '수정한 날짜'에 해당하는 컬럼에 많이 쓰이는 것으로 보인다.
mysql에서는 테이블 생성 당시에 해당 기능을 만들 수 있다.
CREATE TABLE `demo_table` (
`modified_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
하지만, oracle에는 이러한 기능이 없어 trigger로 구현해야 한다. oracle 구현방법도 어렵지 않다.
create or replace
TRIGGER schema.name_of_trigger
BEFORE INSERT OR UPDATE ON schema.name_of_table
FOR EACH ROW
BEGIN
:new.modified_date := SYSTIMESTAMP;
END;
적용될 테이블이 new라는 이름의 변수로 생성된다.
new.(수정할 컬럼) := SYSTIMESTAMP;를 작성하면 된다.
UPDATE로 해당 테이블을 수정할 때마다, modifed_date 컬럼의 데이터는 자동으로 현재 시간으로 수정된다는 것을 확인할 수 있다.
출처: StackOverFlow
728x90
반응형
'DB' 카테고리의 다른 글
[ORACLE] 오라클 테이블 컬럼 추가/수정/삭제/변경 하는 방법 (ALTER 활용) (0) | 2022.02.10 |
---|---|
[mysql] 데이터 insert 시간을 자동으로 기록하고 싶다면? (0) | 2022.01.10 |
[Mysql] MySQL Install (Mac 기준) (0) | 2020.04.26 |
[Oracle] SQL 명령어 정리 (3) (0) | 2020.04.23 |
[Oracle] SQL 명령어 정리 (2) (0) | 2020.04.23 |
블로그의 정보
What doing?
Roel Downey