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