温馨提示×

curtime在MySQL触发器中的使用方法

小樊
82
2024-09-21 18:21:42
栏目: 云计算

在MySQL中,CURTIME()函数返回当前日期和时间。在触发器中使用CURTIME()函数可以帮助您在插入或更新记录时自动填充当前时间戳。以下是如何在MySQL触发器中使用CURTIME()函数的示例:

  1. 创建一个名为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. 创建一个名为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字段和当前时间戳连接在一起。

  1. 测试触发器:
INSERT INTO my_table (name) VALUES ('John');
INSERT INTO my_table (name) VALUES ('Jane');

当您插入新记录时,created_at字段将自动填充当前时间戳。

0