PostgreSQL如何实现自动更新时间戳

技术PostgreSQL如何实现自动更新时间戳这篇文章主要介绍PostgreSQL如何实现自动更新时间戳,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是PostgreSQL时间戳数据类型?在P

本文主要介绍PostgreSQL如何自动更新时间戳,非常详细,有一定的参考价值。感兴趣的朋友一定要看完!

00-1010在PostgreSQL中,下一个数据类型是TIMESTAMP,它可以存储TIME和DATE值。但是它不支持任何时区数据。这意味着当我们转换数据库服务器的时区时,时间戳值将存储在数据库中,不能重复修改。

在PostgreSQL中,时间戳数据类型分为两种时间数据类型,如:

时间戳

timpstamptz

Timestamp:使用不带时区的时间戳数据类型。

Timeptz : 3360 Timeptz数据类型用于时区。

注意:

Timeptz数据类型是与时区相关的日期和时间数据类型,它是一个带有时区的timestamptz。

和时间戳,如下面的命令:所示。

选择名称,类型

FROMpg_type

wheretypname~'^timestamp';最近公司有些新实习生在使用PostgreSQL创建表Schema时,对创建时间create_at和更新时间update_at这两个字段的自动更新时间戳不是很清楚。把这篇文章记录下来,以便以后来的实习生和新同事有个参考。

00-1010在谈论如何更新时间戳之前,我们仍然需要知道为什么需要自动更新时间戳。对于许多业务表,我们大多数人需要记录以下字段:

创建时创建

更新时更新

创建者创建

更新程序更新

为了给这些字段赋值,我们需要给存储库层的实体赋值,创建时间和更新时间取当前系统时间LocalDateTime,创建者和更新者需要由系统用户赋值。对于创建时间和更新时间,是否可以不每次都手动为存储库中与当前业务无关的字段赋值?

当然,肯定有。创建时间只不过是数据新插入行的时间,更新时间是行数据更新的时间。如果你理解了这一层的含义,就有了解决办法。

对于Mysql来说,内部提供的函数很容易自动更新创建时间和更新时间的字段,但是对于PostgreSQL来说,就有点复杂了。

什么是PostgreSQL时间戳数据类型?

要在插入数据时自动填充create_at列的值,我们可以使用DEFAULT值,如下所示。

CREATETABLEusers(

.

create _ attimestamp(6)default current _ timestamp

)为create_at字段设置一个默认值current_timestamp,以便通过在INSERT语句中提供一个值来显式覆盖此列的值。

但是,上述方法仅在插入行数据时有用。如果行被更新,我们需要使用数据库的触发器。

首先,我们编写一个触发器update_modified_column,如下面的代码所示,这意味着更新表的字段update_at是当前时间戳。

creatorreplaceffectionupdate _ modified _ column()

RETURNSTRIGGERAS$$

开始

new . update _ at=now();

RETURNNEW

END

$ $ language 'plpgsql然后我们应用这个触发器。怎么做?当然,设置这个触发器的触发条件。

CREATETRIGGERupdate _ table _ name _ update _ atbeforeupdatecontable _ name foreachrowexecuteproepdatedate _ modified _ column();也就是说,在更新table_name行的数据时,执行这个触发器,我们需要对每个表设置应用这个触发器!至此,达到目的。

以上就是文章“PostgreSQL如何自动更新时间戳”的全部内容。感谢您的阅读!希望分享的内容对大家有所帮助。更多相关知识,请关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/115595.html

(0)

相关推荐

  • 分析Nodejs的Stream模块

    技术分析Nodejs的Stream模块这篇文章主要讲解了“分析Nodejs的Stream模块”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分析Nodejs的Stream模

    攻略 2021年11月6日
  • 用家里的东西做起泡胶,怎么用家里的材料做起泡胶

    技术用家里的东西做起泡胶,怎么用家里的材料做起泡胶第一步:首先加入白胶用家里的东西做起泡胶,白胶的量90%决定了之后成品的大小,不能倒多或倒少哦!新手宝宝要注意了,市场上面的白胶,花样繁多,且价格上下浮动很大,有很便宜的

    生活 2021年11月1日
  • 新中国成立后,宪法序言新中国成立后的基本情况

    技术新中国成立后,宪法序言新中国成立后的基本情况1、我国社会逐步实现了由新民主主义到社会主义的过渡新中国成立后。生产资料私有制的社会主义改造已经完成,人剥削人的制度已经消灭,社会主义制度已经确立。2、工人阶级领导的、以工

    生活 2021年10月30日
  • linux下phpmyadmin的配置文件是什么意思

    技术linux下phpmyadmin的配置文件是什么意思这篇文章主要介绍linux下phpmyadmin的配置文件是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!发现问题:linux下的p

    攻略 2021年11月24日
  • 查驾驶证,怎么在网上查自己的驾驶证信息

    技术查驾驶证,怎么在网上查自己的驾驶证信息方法一查驾驶证:1、首先打开支付宝,在首页上打开更多。2、在便民生活中找到城市服务。3、点击车主,打开驾驶证信息。4、输入你的驾驶证号和档案编号,点击查询就可以查到你的驾驶证信息

    生活 2021年10月26日
  • MySQL主从同步和读写分离如何配置

    技术MySQL主从同步和读写分离如何配置这篇文章主要为大家展示了“MySQL主从同步和读写分离如何配置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL主从同步和读写分

    攻略 2021年12月8日