![cover](https://img-blog.csdnimg.cn/51114a5e4e434b878a011e4c263f0779.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWWluZ1NreTUyMA==,size_20,color_FFFFFF,t_70,g_se,x_16)
Postgresql时间戳自动更新insert/update数据时间
Postgresql时间戳自动更新insert/update数据时间 在查询框中数据select now()和select CURRENT_TIMESTAMP可以获取到系统当前时间(如下左侧)获取到的时间包括小数点后的位数;要想只保留到秒数,就使用以下查询select now()::timestamp(0)without time zone (如下右侧)点击添加触发器,名字为字段名,每行都要添加,
用于自动更新时间的话在数据库的函数栏选择右击选择创建函数
将下方的函数代码粘入到函数框中,update_timestamp为函数名,submit_time 为表中字段名称
CREATE OR REPLACE FUNCTION "public"."update_timestamp"()
RETURNS "pg_catalog"."trigger" AS $BODY$
BEGIN
New.submit_time = now()::timestamp(0)without time zone;
RETURN NEW;
END
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
在查询框中数据select now()和select CURRENT_TIMESTAMP可以获取到系统当前时间(如下左侧),二者的效果是一样的,获取到的时间包括小数点后的位数;要想只保留到秒数,就使用以下查询select now()::timestamp(0)without time zone (如下右侧)
函数创建完毕后,确保在pg库中已创建表,选中表右击点击设计表,选中上方菜单栏中的触发器
点击添加触发器,名字为字段名,每行都要添加,在insert 执行前添加,勾选上启用;如果需要设置每次update时都要自动更新时间,那就将更新勾选上。下边的触发函数选择我们刚刚创建的函数。点击左上方的保存按钮。设置时间戳自动更新insert/update时间就创建好了。
更多推荐
所有评论(0)