sql >> Database >  >> RDS >> Mysql

MySQL `BEFORE INSERT TRIGGER` hoe kan ik het invoegen van gegevens onder voorwaarde overslaan?

Twee oplossingen, beide geven een fout:

  1. Bel niet-bestaande opgeslagen procedure - CALL non_existent_proc()
  2. Gebruik SIGNAAL statement om de fout op te heffen (MySQL 5.5).

Voorbeeld 1:

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

Voorbeeld 2:

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



  1. SQL-query - resultaten samenvoegen tot één string

  2. SQL - INDIEN BESTAAT UPDATE ANDERS INSERT INTO

  3. tijd verstreken met pauzelogica mysql TIMEDIFF() en PHP

  4. Waarom lijk ik Oracle 11g niet te dwingen meer CPU's te verbruiken voor een enkele SQL-query?