阅读量:0
在MySQL中,CURTIME()
函数返回当前日期和时间。在触发器中使用CURTIME()
函数可以帮助您在插入或更新记录时自动填充当前时间戳。以下是如何在MySQL触发器中使用CURTIME()
函数的示例:
- 创建一个名为
my_table
的表,其中包含id
(主键)、name
和created_at
字段:
CREATE TABLE my_table ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP );
在这个例子中,created_at
字段默认值设置为CURRENT_TIMESTAMP
,这意味着在插入新记录时,MySQL会自动填充当前时间戳。
- 创建一个名为
before_insert_my_table
的触发器,在插入新记录之前,将name
字段和当前时间戳一起插入到my_table
表中:
DELIMITER // CREATE TRIGGER before_insert_my_table BEFORE INSERT ON my_table FOR EACH ROW BEGIN SET NEW.name = CONCAT(NEW.name, ' ', CURTIME()); END; // DELIMITER ;
在这个例子中,我们创建了一个触发器,在插入新记录之前,将name
字段和当前时间戳一起插入到my_table
表中。注意,我们使用CONCAT()
函数将name
字段和当前时间戳连接在一起。
- 测试触发器:
INSERT INTO my_table (name) VALUES ('John'); INSERT INTO my_table (name) VALUES ('Jane');
当您插入新记录时,created_at
字段将自动填充当前时间戳。