mysql时间戳怎么自动更新

avatar
作者
筋斗云
阅读量:0

在MySQL中,如果你想要自动更新一个时间戳字段,你可以使用以下几种方法:

  1. 使用TIMESTAMPDATETIME数据类型:

当你创建一个表时,你可以将某个字段设置为TIMESTAMPDATETIME数据类型。这两种数据类型都可以自动更新时间戳。

  • TIMESTAMP:在插入或更新记录时,该字段会自动设置为当前的时间戳。它的范围是’1970-01-01 00:00:01’ UTC 到 ‘2038-01-19 03:14:07’ UTC。
  • DATETIME:在插入或更新记录时,该字段不会自动更新。它的范围是’1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’。

例如,创建一个包含自动更新时间戳的表:

CREATE TABLE example (     id INT AUTO_INCREMENT PRIMARY KEY,     name VARCHAR(255) NOT NULL,     created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 
  1. 使用触发器(Triggers):

如果你想要在插入、更新或删除记录时自动更新时间戳,你可以使用触发器。以下是一个示例,展示了如何在插入新记录时自动更新created_atupdated_at字段:

DELIMITER // CREATE TRIGGER example_before_insert BEFORE INSERT ON example FOR EACH ROW BEGIN     SET NEW.created_at = NOW();     SET NEW.updated_at = NOW(); END; // CREATE TRIGGER example_before_update BEFORE UPDATE ON example FOR EACH ROW BEGIN     SET NEW.updated_at = NOW(); END; // DELIMITER ; 

现在,当你插入或更新example表中的记录时,created_atupdated_at字段将自动更新为当前的时间戳。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!