MySQL에서는 changetimestamp
행이 변경 될 때마다 열을 업데이트하는 위치에서 실행할 수 있습니다 .
create table ab (
id int,
changetimestamp timestamp
NOT NULL
default CURRENT_TIMESTAMP
on update CURRENT_TIMESTAMP
);
PostgreSQL에서 위와 비슷한 것이 있습니까?
MySQL에서는 changetimestamp
행이 변경 될 때마다 열을 업데이트하는 위치에서 실행할 수 있습니다 .
create table ab (
id int,
changetimestamp timestamp
NOT NULL
default CURRENT_TIMESTAMP
on update CURRENT_TIMESTAMP
);
PostgreSQL에서 위와 비슷한 것이 있습니까?
timestamp
버전 및 설정에 따라 열에 대해 여러 "특별 처리"가 있으며 (다행히도!) Postgres에서는 재현 할 수 없습니다. 허용 추천 0
A의 timestamp
열 변형이나 NULL
특정한 별자리에 입력을 현재 타임 스탬프로. 미묘한 차이점을 인식하기 위해 두 RDBMS의 매뉴얼을 공부하십시오 : MySQL 및 Postgres .
답변:
다음과 같이 테이블의 changetimestamp 열을 업데이트하는 함수를 만듭니다.
CREATE OR REPLACE FUNCTION update_changetimestamp_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.changetimestamp = now();
RETURN NEW;
END;
$$ language 'plpgsql';
다음과 같이 업데이트가 발생할 때마다 update_changetimestamp_column () 함수를 호출하는 테이블에 트리거를 만듭니다.
CREATE TRIGGER update_ab_changetimestamp BEFORE UPDATE
ON ab FOR EACH ROW EXECUTE PROCEDURE
update_changetimestamp_column();
update_changetimestamp_column
있습니까?