sql >> Databasteknik >  >> RDS >> Mysql

Använd en utlösare för att stoppa en infogning eller uppdatering

Prova SIGNAL-syntaxen - https://dev.mysql.com/ doc/refman/5.5/en/signal.html

create trigger agency_check
before insert on foo
for each row
begin
  if (new.agency < 1 or new.agency >5) then
    SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'your error message';
  end if 
end

REDIGERA

Uppdaterad baserat på populär kommentar nedan av Bill Karwin.



  1. Hur REGEXP_SUBSTR() fungerar i MariaDB

  2. Hur man skapar en sekvens om den inte finns

  3. PL/pgSQL-funktioner:Hur man returnerar en normal tabell med flera kolumner med hjälp av en execute-sats

  4. Vad är nytt i PostgreSQL 12