mysql 自动存储记录创建时间戳

2021-11-20 00:00:00 sql mysql

mysql 是否可以通过某种方式将时间戳自动存储在记录行中,只要它被创建.我试图使用时间戳(数据类型)和 current_timestamp 作为默认值,但后来意识到每次更新记录时都会更新.我只需要一些可以存储创建时间戳的东西.

Is there some way mysql can store timestamp automatically in a record row whenever that it is created. I was trying to use timestamp(data type) with current_timestamp as default value but then realised this will get updated everytime the record is updated. I just need something that will store create timestamp.

谢谢

推荐答案

设置 DEFAULT 约束使用 CURRENT_TIMESTAMP:

CREATE TABLE ...
  your_date_column DATETIME DEFAULT CURRENT_TIMESTAMP
  ...

对于现有表,使用ALTER TABLE 语句:

ALTER TABLE your_table
ALTER COLUMN date_column SET DEFAULT CURRENT_TIMESTAMP

除非您为 date_column 指定一个值,否则默认值为日期 &运行 INSERT 语句的时间.NULLDEFAULT 或有效值,否则使用默认约束,假设列可以为空.

Unless you specify a value to for the date_column, the default will be the date & time the INSERT statement was run. NULL and DEFAULT or valid values to use the default constraint otherwise, assuming the column is nullable.

相关文章