sql >> Databáze >  >> RDS >> Mysql

Spouštěč MySQL před kontrolou vložení hodnoty

Nejprve upravte tabulku tak, aby umožňovala hodnoty NULL:

ALTER TABLE Staff MODIFY office CHAR(40) DEFAULT "N/A";

(Změňte CHAR(40) na cokoli, co je vhodné.) Potom můžete jako spouštěč použít:

CREATE TRIGGER staffOfficeNullReplacerTrigger 
BEFORE INSERT 
ON Staff
  FOR EACH ROW BEGIN
    IF (NEW.office IS NULL) THEN
      SET NEW.office = "N/A";
    END IF


  1. Kontrola časového překrývání tabulky?

  2. Měl bych používat PreparedStatements pro všechny vložky databáze v Javě?

  3. Jak považovat NULL za MAX datum namísto jeho ignorování v MySQL?

  4. Dezinfikuji/uteču správně?