MySQL 触发器(Trigger)是一种特殊的存储过程,它会在指定的事件发生时自动执行。这些事件可以是 INSERT、UPDATE 或 DELETE 操作。触发器可以在表上定义,当表上的数据发生变化时,触发器会自动执行。
MySQL 触发器主要有以下几种类型:
以下是一个简单的示例,展示如何在 MySQL 中创建一个触发器:
-- 创建一个示例表
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
salary DECIMAL(10, 2)
);
-- 创建一个触发器,在插入数据之前检查薪水是否合法
DELIMITER //
CREATE TRIGGER check_salary_before_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);
原因:
解决方法:
原因:
解决方法:
通过以上信息,您应该对 MySQL 触发器有了更全面的了解,并且能够解决一些常见问题。
领取专属 10元无门槛券
手把手带您无忧上云