mysql触发器取消insert_如何中止MySQL触发器中的INSERT操作?

d48826580a846274b867a60d15ae6171.png

九州编程

我遇到了这个问题,虽然解决方案有效,但后来我遇到了一种感觉更好的解决方案。当这个问题最初被回答时,我怀疑这不是一个选择。CREATE TRIGGER `TestTable_SomeTrigger`BEFORE UPDATE ON `test_table`FOR EACH ROWBEGIN

    DECLARE msg VARCHAR(255);

    IF (SomeTestToFail = "FAIL!") THEN

        set msg = "DIE: You broke the rules... I will now Smite you, hold still...";

        SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = msg;

    END IF;

    -- Do any other code here you may want to occur if it's all OK or leave blank it will be

    --  skipped if the above if is trueEND$$这将返回一个好的(或邪恶!)您可以捕获的错误消息。有关此问题的更多信息,请参见:http:/dev.mysql.com/doc/refman/5.5/en/signal.html我希望这能帮到别人!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值