我有一个表T,其中包含两个字段A和B,类型为整数。
现在我想强制A小于或等于B.
我是否必须创建“插入/更新前”-trigger?
如果是,那么如何使触发失败?
答案 0 :(得分:2)
您可以在应用程序代码中执行此操作,但最安全的方法是通过触发器在数据库中执行此操作。
要防止插入成功,请在触发器中生成错误。我们这样做:
CREATE TRIGGER `t_insert`
BEFORE UPDATE ON `t`
FOR EACH ROW
BEGIN
IF new.A > new.B THEN
CALL NONEXISTENT_PROC()
END IF;
END