database - 如何在 PostgreSQL 中自动更新时间戳

标签 database postgresql timestamp

我希望代码能够在插入新行时自动更新时间戳,就像我在 MySQL 中使用 CURRENT_TIMESTAMP 所做的那样。

我如何才能在 PostgreSQL 中实现这一点?

CREATE TABLE users (
    id serial not null,
    firstname varchar(100),
    middlename varchar(100),
    lastname varchar(100),
    email varchar(200),
    timestamp timestamp
)

最佳答案

要在插入期间填充列,请使用 DEFAULT值:

CREATE TABLE users (
  id serial not null,
  firstname varchar(100),
  middlename varchar(100),
  lastname varchar(100),
  email varchar(200),
  timestamp timestamp default current_timestamp
)

请注意,可以通过在 INSERT 中提供一个值来显式覆盖该列的值。陈述。如果你想防止你需要一个 trigger .

如果您需要在行更新时更新该列(如 mentioned by E.J. Brennan)

请注意,对列名使用保留字通常不是一个好主意。您应该找到与 timestamp

不同的名称

关于database - 如何在 PostgreSQL 中自动更新时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9556474/

相关文章:

MySQL 在单个资源 ID 上连接 3 个表

Propel 中的数据库分片支持

c# - 关于 PostgreSQL 的 Dapper SQL 查询和参数的问题

sql - 如何从 PostgreSQL 选择查询中的时间戳获取日期和时间?

database - 新版本的 postgresql docker 容器没有新添加的数据

php - 用户相册和照片的数据库表结构

sql - 查找日期范围包含给定日期的记录?

sql - Ecto - 表 B 或 C 的表 A 的外键约束,但不是 B 和 C

java - 如何将字符串转换为 "datetime"友好的格式?

javascript - (JavaScript) 每天比较时间戳(超过 2 年)