在MySQL中,CURTIME()
函數(shù)返回當前日期和時間。在觸發(fā)器中使用CURTIME()
函數(shù)可以幫助您在插入或更新記錄時自動填充當前時間戳。以下是如何在MySQL觸發(fā)器中使用CURTIME()
函數(shù)的示例:
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
的觸發(fā)器,在插入新記錄之前,將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 ;
在這個例子中,我們創(chuàng)建了一個觸發(fā)器,在插入新記錄之前,將name
字段和當前時間戳一起插入到my_table
表中。注意,我們使用CONCAT()
函數(shù)將name
字段和當前時間戳連接在一起。
INSERT INTO my_table (name) VALUES ('John');
INSERT INTO my_table (name) VALUES ('Jane');
當您插入新記錄時,created_at
字段將自動填充當前時間戳。