MySQL触发器在某些情况下防止INSERT
我想创建一个触发器,以防止在出生日期(列之一)将来的时候插入。我有这个:
CREATE TRIGGER fooBEFORE INSERT ON table
FOR EACH ROW
BEGIN
IF NEW.birthdate > CURRENT_DATE()
THEN
//How do I prevent the insert right here???
END IF;
END;
如何取消if语句中的插入?
回答:
基于这一点,我不确定是否可以这样做。
MySQL当前的触发器实现中不支持自愿引发异常并中止生成触发器的语句。
我发现的解决方法是编写一个BEFORE触发器,以将表中的not-NULL列之一设置为NULL,从而违反了其NOT
NULL约束。这导致产生触发器的语句被中止。
以上是 MySQL触发器在某些情况下防止INSERT 的全部内容, 来源链接: utcz.com/qa/410112.html