简体   繁体   English

如何在插入触发器mysql之前中断插入查询

[英]How to break insert query, before insert trigger mysql

How to avoid insert query if some condition get false in Before Insert trigger mysql ? 如果在插入前触发mysql中某些条件为假,如何避免插入查询?

Here is an example what i want to do: 这是我想做的一个例子:

CREATE DEFINER = CURRENT_USER TRIGGER `mtdb`.`Mytable_BEFORE_INSERT` 
BEFORE INSERT ON `Mytable` FOR EACH ROW
    BEGIN
        IF (NEW.mobile IS NULL OR NEW.mobile = "")
        THEN
            **DO NOT INSERT, RETURN SOME ERROR MESSAGE
        END IF;
    END

There are two ways I can think of 我可以想到两种方法

  1. Use " Signal " to stop the execution. 使用“ Signal ”停止执行。
  2. Change the value of your data such that it violates some constraints, such as setting the primary key to NULL. 更改数据的值,使其违反某些约束,例如将主键设置为NULL。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM