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自动更新时间

相关推荐
Cache技术分享6 分钟前
280. Java Stream API - Debugging Streams:如何调试 Java 流处理过程?
前端·后端
Charlie_Byte6 分钟前
在 Kratos 中设置自定义 HTTP 响应格式
后端·go
辜月十13 分钟前
Conda配置文件.condarc
后端
真是他14 分钟前
C# UDP 基本使用
后端
今天没有盐18 分钟前
Python字符串操作全解析:从基础定义到高级格式化
后端·scala·编程语言
一只旭宝19 分钟前
Linux专题十二:mysql数据库以及redis数据库
linux·数据库·mysql
IT 行者22 分钟前
Spring Framework 6.x 异常国际化完全指南:让错误信息“说“多国语言
java·后端·spring·异常处理·problemdetail·国际化i18n
萧曵 丶26 分钟前
MySQL B+树详解
数据库·b树·mysql
鱼跃鹰飞43 分钟前
面试题:Spring事务失效的八大场景
数据库·mysql·spring
ss2731 小时前
类的线程安全:多线程编程-银行转账系统:如果两个线程同时修改同一个账户余额,没有适当的保护机制,会发生什么?
java·开发语言·数据库