postgressql更新时间

前言

Postgressql在操作更新时间自动更新时,目前没法做到,需要借助触发器更新时间

更新时间

创建数据库表

sql 复制代码
CREATE TABLE hello (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100),
    create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    update_time TIMESTAMP
);

执行结果为

创建时间可以使用CURRENT_TIMESTAMP作为当前时间,更新时间需要借助触发器

触发器创建

sql 复制代码
CREATE OR REPLACE FUNCTION "public"."update_timestamp"()
  RETURNS "pg_catalog"."trigger" AS $BODY$
begin
    new.update_time= current_timestamp;
    return new;
end
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100

执行结果

建立触发器关系

sql 复制代码
CREATE TRIGGER update_timestamp_trigger
BEFORE UPDATE ON hello
FOR EACH ROW
EXECUTE PROCEDURE  update_timestamp();

执行结果

创建数据

sql 复制代码
INSERT INTO "public"."hello" ("id", "name") VALUES (1, 'aaa');

结果为

更新

sql 复制代码
update hello set "name" = 'aaa' where "id" = 1

结果为

总结

可以使用postgressql自动更新时间

相关推荐
杨运交2 小时前
[069][公共模块]Spring Boot 全局异常处理与参数校验实战(下):校验异常精细化处理与 WebFlux 适配
java·spring boot·后端
Andya_net3 小时前
Spring Boot | 条件注解完全指南:从 @Conditional 到 @ConditionalOnExpression 的原理、实践与避坑
spring boot·后端·python
APItesterCris3 小时前
告别人工盯品!借助 Open‑Claw 快速搭建电商商品全自动监控与数据分析系统(完整实操代码)
java·大数据·前端·数据库
SKH.3 小时前
网络(5)数据库
jvm·数据库
ly76893 小时前
Spring 中的 @Configuration 与 @Component 差异:为何代理时机决定 Bean 生命周期行为
java·后端·spring·注解·代理·bean生命周期
明月_清风3 小时前
字符串匹配四大经典算法:BF、RK、BM、KMP 到底有什么区别?
后端·算法
kyrie_sakura3 小时前
MySQL数据库学习笔记3--关联(联合)查询
数据库·学习·mysql
卷无止境3 小时前
测试全绿,功能能跑,代码却烂到没法上线:AI编程助手留下的十个坑
后端·python
明月_清风4 小时前
多模式字符串匹配:Trie 与 AC 自动机
后端·算法