MySQL 触发器(Trigger)是一种特殊的存储过程,它会在指定的事件(如 INSERT、UPDATE 或 DELETE)发生时自动执行。触发器可以帮助实现复杂的业务规则,确保数据的完整性和一致性。
以下是一个简单的示例,展示如何在 MySQL 中创建一个触发器:
-- 创建一个示例表
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100),
salary DECIMAL(10, 2)
);
-- 创建一个 BEFORE INSERT 触发器
DELIMITER $$
CREATE TRIGGER before_employee_insert
BEFORE INSERT ON employees
FOR EACH ROW
BEGIN
-- 在插入前检查薪水是否合法
IF NEW.salary < 0 THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Salary cannot be negative';
END IF;
END$$
DELIMITER ;
-- 插入数据测试触发器
INSERT INTO employees (id, name, salary) VALUES (1, 'John Doe', -1000);
SIGNAL
语句捕获和处理错误。通过以上内容,你应该对 MySQL 触发器有了全面的了解,包括其基础概念、优势、类型、应用场景以及常见问题的解决方法。
领取专属 10元无门槛券
手把手带您无忧上云