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