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