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

相关推荐
3***8919几秒前
sql实战解析-sum()over(partition by xx order by xx)
数据库·sql
Data_agent5 分钟前
1688获得1688公司档案信息API,python请求示例
开发语言·数据库·python
q***01777 分钟前
Spring.factories
java·数据库·spring
-大头.10 分钟前
Spring Bean作用域深度解析与实战
java·后端·spring
疯狂的程序猴16 分钟前
APP上架苹果应用商店经验教训与注意事项
后端
u***B79217 分钟前
Navicat for MySQL下载安装教程
数据库·mysql
毕设源码-钟学长18 分钟前
【开题答辩全过程】以 基于springboot农科所农作物信息管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
i***512619 分钟前
springboot整合libreoffice(两种方式,使用本地和远程的libreoffice);docker中同时部署应用和libreoffice
spring boot·后端·docker
bcbnb28 分钟前
uni-app 上架到 App Store 的项目流程,构建、打包与使用开心上架(Appuploader)上传
后端
周杰伦fans1 小时前
C# 中 SQL Server 数据库调优指南(小白友好版)
开发语言·数据库·c#