当你在使用MySQL数据库时,经常会遇到需要设置自动创建时间及修改时间的需求,这在将来查询数据的时候非常方便,同时也可以更好的维护数据库。
下面是如何设置自动创建时间及修改时间的方法示例:
1. 创建表时使用默认函数
在创建表时,可以通过使用MySQL内置的函数CURRENT_TIMESTAMP
来设置自动创建时间及修改时间。例如,我们创建一个名为user
的表,其中包含id
、name
和created_at
三个字段,其中created_at
字段用于存储数据的创建时间,代码示例如下:
CREATE TABLE user (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
以上SQL语句会创建一个名为user
的表,其中created_at
字段会自动设置当前时间戳。在插入数据时,不需要特别指定created_at
字段的值,因为MySQL会自动设置为当前时间戳。
2. 使用触发器实现
另一个实现自动创建时间及修改时间的方法是使用MySQL提供的触发器功能。以下代码示例将实现在插入和更新时自动更新记录的时间戳:
DELIMITER //
CREATE TRIGGER user_trigger
BEFORE INSERT ON user
FOR EACH ROW
SET NEW.created_at = NOW(),
NEW.updated_at = NOW();
//
以上SQL语句会创建一个名为user_trigger
的触发器,它会在每次向表中插入新记录时更新created_at
和updated_at
字段。当更新现有记录时,也会自动更新updated_at
字段。
使用触发器的好处是可以在一个数据库中共享这些触发器,并且它可以在数据的多个表中使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql 设置自动创建时间及修改时间的方法示例 - Python技术站