В MySQL мы можем выполнить это, где он обновляет столбец changetimestamp
каждый раз, когда строка изменяется:
create table ab (
id int,
changetimestamp timestamp
NOT NULL
default CURRENT_TIMESTAMP
on update CURRENT_TIMESTAMP
);
Есть ли что-то подобное в PostgreSQL?
postgresql
timestamp
bichonfrise74
источник
источник
timestamp
столбцов в зависимости от версии и настроек, которые (к счастью!) Не могут быть воспроизведены в Postgres. Как позволяя0
дляtimestamp
столбца или преобразованияNULL
в текущую метку времени на входе в определенных созвездий. Обязательно изучите руководство по обеим РСУБД, чтобы знать о тонких различиях: 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
?