Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL `BEFORE INSERT TRIGGER` wie kann ich das Einfügen von Daten unter Bedingung überspringen?

Zwei Lösungen, beide lösen einen Fehler aus:

  1. Nicht vorhandene gespeicherte Prozedur aufrufen - CALL non_existent_proc()
  2. Verwenden Sie SIGNAL -Anweisung zum Auslösen des Fehlers (MySQL 5.5).

Beispiel 1:

...
IF @found THEN
  CALL non_existent_proc();
END IF;
...

Beispiel 2:

...
IF @found THEN
  SIGNAL SQLSTATE '02000' SET MESSAGE_TEXT = 'Wrong data';`
END IF;
...