【发布时间】:2011-09-07 06:04:28
【问题描述】:
我有一个表 T,其中包含两个整数类型的字段 A 和 B。
现在我想强制 A 小于或等于 B。
我是否必须创建“插入/更新前”触发器?
如果是,那么如何使触发器失败?
【问题讨论】:
标签: mysql
我有一个表 T,其中包含两个整数类型的字段 A 和 B。
现在我想强制 A 小于或等于 B。
我是否必须创建“插入/更新前”触发器?
如果是,那么如何使触发器失败?
【问题讨论】:
标签: mysql
您可以在应用程序代码中执行此操作,但最安全的是通过触发器在数据库中执行此操作。
为防止插入成功,请在触发器中生成错误。我们这样做:
CREATE TRIGGER `t_insert`
BEFORE UPDATE ON `t`
FOR EACH ROW
BEGIN
IF new.A > new.B THEN
CALL NONEXISTENT_PROC()
END IF;
END
【讨论】: