2024-01-16

PostgreSQL 中 update_at 时间自动更新,需要创建触发器。

在 PostgreSQL 中,updated_at 自动更新通常通过在表上创建触发器(trigger)来实现。在 PgAdmin 中,你可以使用 SQL 脚本或者图形界面来创建触发器。

以下是通过 PgAdmin 中的图形界面设置 updated_at 自动更新的步骤:

  1. 打开 PgAdmin:

打开 PgAdmin 并连接到你的 PostgreSQL 数据库。

  1. 选择你的表:

在左侧的 "Object Browser" 中,找到并选择包含 updated_at 列的表。

  1. 创建触发器:
  • 右键点击选中的表。

  • 选择 "Scripts" -> "CREATE Script"。

  • 在生成的 SQL 脚本中,添加以下触发器定义:


CREATE OR REPLACE FUNCTION update_timestamp()

RETURNS TRIGGER AS $$

BEGIN

    NEW.updated_at = CURRENT_TIMESTAMP;

    RETURN NEW;

END;

$$ LANGUAGE plpgsql;

CREATE TRIGGER update_timestamp_trigger

BEFORE UPDATE ON your_table

FOR EACH ROW

EXECUTE FUNCTION update_timestamp();

请替换 your_table 为实际的表名。

  1. 执行 SQL 脚本:

将生成的 SQL 脚本粘贴到 PgAdmin 的 SQL 编辑器中,并执行脚本以创建触发器。

这样,每次更新表中的记录时,updated_at 将自动更新为当前时间戳。请记得根据实际需要和表结构进行适当的调整。如果你更喜欢使用 SQL 命令行,可以直接在命令行执行相应的 SQL 语句。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • PostgreSQL 是一个免费的对象-关系(Object-Relationship)数据库服务器(ORDBMS)...
    LeoLongl阅读 8,430评论 0 1
  • Laravel 学习交流 QQ 群:375462817 本文档前言Laravel 文档写的很好,只是新手看起来会有...
    Leonzai阅读 12,578评论 2 12
  • 模型 一、Active Record 基础介绍Models,数据库持久性以及Active Record模式 Act...
    廖马儿阅读 11,632评论 0 2
  • 简介 在进一步讨论之前,这里先有必要简要阐述一下 Kong 是如何构建的,特别是它如何与Nginx集成,以及它与L...
    fossilman阅读 11,175评论 0 4
  • 日更挑战当前排名:第999天,第418名,排名较昨日前进0名。 比赛日,官网给出每场比赛的Notes(极个别场次没...
    扁圆柱体阅读 695评论 0 0