小编典典

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

all

我希望代码能够在插入新行时自动更新时间戳,就像我在 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
)

阅读 142

收藏
2022-07-04

共1个答案

小编典典

要在插入期间填充列,请使用一个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请注意,可以通过在语句中提供值来显式覆盖该列的值。如果你想阻止你确实需要一个触发器

如果您需要在更新行时更新该列,则还需要一个触发器

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

2022-07-04