MySQL触发器是一种特殊的存储过程,它会在指定的事件发生时自动执行。这些事件包括INSERT、UPDATE或DELETE操作。触发器可以在数据被修改之前(BEFORE)或之后(AFTER)执行。
自增(AUTO_INCREMENT)是MySQL中的一个属性,通常用于整数类型的字段,以确保该字段的值在每次插入新记录时自动递增。
MySQL触发器主要有两种类型:
假设我们有一个名为users
的表,其中有一个自增字段id
和一个字段username
。我们想在每次插入新用户时,自动记录一条日志。
-- 创建用户表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL
);
-- 创建日志表
CREATE TABLE user_logs (
log_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
action VARCHAR(10),
log_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 创建触发器
DELIMITER //
CREATE TRIGGER after_user_insert
AFTER INSERT ON users
FOR EACH ROW
BEGIN
INSERT INTO user_logs (user_id, action) VALUES (NEW.id, 'INSERT');
END //
DELIMITER ;
领取专属 10元无门槛券
手把手带您无忧上云