欢迎投稿

今日深度:

PostgreSQL设置时间自动更新的示例代码,

PostgreSQL设置时间自动更新的示例代码,


目录
  • 前言
  • 默认时间
  • 使用触发器更新时间

前言

在使用PostgreSQL数据库,可以通过设置字段的默认值和更新机制来实现自动更新时间和创建时间,但是跟MySQL又有点区别

默认时间

可以使用CURRENT_TIMESTAMP函数插入当前时间,sql语句为

CREATE TABLE sys_user (

id SERIAL PRIMARY KEY,

name VARCHAR(255),

create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

执行insert操作

insert into sys_user values(1, 'aaa')

时间会自动生成

执行更新操作

update sys_user  set name = 'bbb' where id =1

发现时间还是不变

使用触发器更新时间

CREATE TABLE sys_user (

id SERIAL PRIMARY KEY,

name VARCHAR(255),

create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

创建一个触发器

create or replace function update_timestamp() returns trigger as
$$
begin
    new.update_time= current_timestamp;
    return new;
end
$$
language plpgsql;

然后执行语句

create trigger update_timestamp before update on sys_user for each row execute procedure update_timestamp();

其中,sys_user为表名,update_timestamp为触发器名称,随意填写,update_timestamp()为触发器函数名称

执行insert语句

 insert into sys_user values(1, 'aaa')

其中,sys_user为表名,update_timestamp为触发器名称,随意填写,update_timestamp()为触发器函数名称

执行insert语句

 insert into sys_user values(1, 'aaa')

结果如下

执行更新操作

update sys_user  set name = 'bbb' where id =1

结果如下

到此这篇关于PostgreSQL设置时间自动更新的示例代码的文章就介绍到这了,更多相关PostgreSQL时间自动更新内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!

您可能感兴趣的文章:
  • PostgreSQL自动更新时间戳实例代码
  • PostgreSQL更新表时时间戳不会自动更新的解决方法
  • 对postgresql日期和时间的比较
  • PostgreSQL数据库时间类型相加减操作

www.htsjk.Com true http://www.htsjk.com/shujukunews/48833.html NewsArticle PostgreSQL设置时间自动更新的示例代码, 目录 前言 默认时间 使用触发器更新时间 前言 在使用 PostgreSQL 数据库,可以通过设置字段的默认值和更新机制来实现自动更新时间和创建时间,...
评论暂时关闭