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

相关推荐
Crazy________12 小时前
13MySQL主从复制原理与搭建指南
数据库·mysql
IT_陈寒12 小时前
JavaScript性能优化:7个90%开发者不知道的V8引擎黑科技
前端·人工智能·后端
摸鱼的春哥12 小时前
“全栈模式”必然导致“质量雪崩”!和个人水平关系不大
前端·javascript·后端
June`13 小时前
Redis核心应用:从单机到分布式架构解析
数据库·redis·缓存
学习编程的Kitty13 小时前
MySQL——数据库基础与库的操作
数据库·mysql
krielwus13 小时前
Oracle 11g R2 物理冷备操作文档
数据库·oracle
大气层煮月亮13 小时前
Oracle EBS ERP之报表开发—嵌入Web中的报表预览、报表打印
前端·数据库·oracle
会挠头但不秃13 小时前
Redis数据结构和常用命令
数据库·redis·缓存
楠目13 小时前
SQL注入与防御:从攻击原理到预编译防御
数据库·sql
无名前端小白13 小时前
Oracle 转 PostgreSQL, ora2pg docker compose 简单实践版
数据库·postgresql·oracle