MySQL 触发器(Trigger)是一种特殊的存储过程,它会在指定的事件发生时自动执行。这些事件可以是 INSERT、UPDATE 或 DELETE 操作。触发器可以在数据被修改之前(BEFORE)或之后(AFTER)执行,从而实现对数据的自动检查和操作。
假设我们有一个 users
表,我们希望在插入新用户时检查用户的年龄是否合法(例如,年龄必须在 18 到 100 岁之间)。
DELIMITER $$
CREATE TRIGGER check_user_age_before_insert
BEFORE INSERT ON users
FOR EACH ROW
BEGIN
IF NEW.age < 18 OR NEW.age > 100 THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Invalid age: must be between 18 and 100';
END IF;
END$$
DELIMITER ;
原因:
解决方法:
原因:
解决方法:
通过以上内容,你应该对 MySQL 触发器有了全面的了解,包括其基础概念、优势、类型、应用场景以及常见问题的解决方法。
领取专属 10元无门槛券
手把手带您无忧上云