MySQL触发器在某些情况下防止INSERT

我想创建一个触发器,以防止在出生日期(列之一)将来的时候插入。我有这个:

CREATE TRIGGER foo

BEFORE 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

回到顶部