加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在PostgreSQL中更新行时更新时间戳

发布时间:2020-12-13 16:50:15 所属栏目:百科 来源:网络整理
导读:在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中有类似于上面的东西吗?

创建一个更新表的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();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读