溫馨提示×

curtime在MySQL觸發(fā)器中的使用方法

小樊
82
2024-09-21 18:21:42
欄目: 云計算

在MySQL中,CURTIME()函數(shù)返回當前日期和時間。在觸發(fā)器中使用CURTIME()函數(shù)可以幫助您在插入或更新記錄時自動填充當前時間戳。以下是如何在MySQL觸發(fā)器中使用CURTIME()函數(shù)的示例:

  1. 創(chuàng)建一個名為my_table的表,其中包含id(主鍵)、namecreated_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會自動填充當前時間戳。

  1. 創(chuàng)建一個名為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字段和當前時間戳連接在一起。

  1. 測試觸發(fā)器:
INSERT INTO my_table (name) VALUES ('John');
INSERT INTO my_table (name) VALUES ('Jane');

當您插入新記錄時,created_at字段將自動填充當前時間戳。

0