PostgreSQL之时间戳自动更新

网友投稿 1480 2023-05-03

***之时间戳自动更新

***之时间戳自动更新

问题描述

***执行Insert语句时,自动填入时间的功能可以在创建表时实现,但更新表时时间戳不会自动自动更新。

在mysql中可以在创建表时定义自动更新字段,比如 :

create table ab (   id int,   changetimestamp timestamp     NOT NULL     default CURRENT_TIMESTAMP     on update CURRENT_TIMESTAMP );

那***中怎么操作呢?

解决方案

通过触发器实现,具体如下:

create or replace function upd_timestamp() returns trigger as $$ begin     new.modified = current_timestamp;     return new; end $$ language plpgsql;  drop table if exists ts; create table ts (     id      bigserial  primary key,     tradeid integer ,     email varchar(50),     num integer,     modified timestamp default current_timestamp ); create trigger t_name before update on ts for each row execute procedure upd_timestamp();

测试代码:

好,就这些了,希望对你有帮助。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何从MongoDB迁移到MySQL?这有现成经验!
下一篇:数据可视化协同开发,让数据更直观易懂
相关文章