MySQL中的触发器(Trigger)是一种特殊的存储过程,它会在指定的表上执行特定的操作(如INSERT、UPDATE或DELETE)之前或之后自动执行。触发器的主要作用是实现数据的自动维护,确保数据的完整性和一致性。
以下是一个简单的MySQL触发器示例,当在employees表中插入新记录时,自动在employee_log表中记录一条日志。
-- 创建员工表
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100),
salary DECIMAL(10, 2)
);
-- 创建日志表
CREATE TABLE employee_log (
log_id INT AUTO_INCREMENT PRIMARY KEY,
employee_id INT,
action VARCHAR(10),
log_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 创建触发器
DELIMITER //
CREATE TRIGGER after_employee_insert
AFTER INSERT ON employees
FOR EACH ROW
BEGIN
INSERT INTO employee_log (employee_id, action) VALUES (NEW.id, 'INSERT');
END //
DELIMITER ;
-- 插入数据
INSERT INTO employees (id, name, salary) VALUES (1, 'John Doe', 50000);
-- 查看日志
SELECT * FROM employee_log;通过以上内容,您应该对MySQL触发器的作用、优势、类型、应用场景以及常见问题有了全面的了解。
没有搜到相关的文章