MySQL 触发器(Trigger)是一种特殊的存储过程,它会在指定的事件发生时自动执行。这些事件可以是 INSERT、UPDATE 或 DELETE 操作。触发器可以在数据改变之前(BEFORE)或之后(AFTER)执行,从而实现对数据的自动处理和保护。
以下是一个简单的示例,展示如何创建一个在插入数据时自动记录日志的触发器:
-- 创建一个日志表
CREATE TABLE audit_log (
id INT AUTO_INCREMENT PRIMARY KEY,
action VARCHAR(50),
table_name VARCHAR(50),
record_id INT,
action_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 创建一个触发器,在插入数据到 users 表时自动记录日志
DELIMITER $$
CREATE TRIGGER after_user_insert
AFTER INSERT ON users
FOR EACH ROW
BEGIN
INSERT INTO audit_log (action, table_name, record_id)
VALUES ('INSERT', 'users', NEW.id);
END$$
DELIMITER ;
希望这些信息对你有所帮助!如果你有更多问题,欢迎继续提问。