在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
字段将自动填充当前时间戳。