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

UPDATE Stejný řádek po UPDATE v Trigger

Řádky v tabulce nelze aktualizovat po aktualizace spouštěče.

Možná chcete něco takového:

CREATE TRIGGER `records_integrity` BEFORE UPDATE
ON `records`
FOR EACH ROW
    SET NEW.epc=IFNULL(new.earnings/new.clicks, 0);

EDIT:

Uvnitř spouštěče máte přístup k OLD a NEW . OLD jsou staré hodnoty v záznamu a NEW jsou nové hodnoty. V před spouštěč, NEW hodnoty jsou to, co se zapisuje do tabulky, takže je můžete upravit. V po spouštěč, NEW hodnoty již byly zapsány, takže je nelze upravovat. Myslím, že dokumentace MySQL vysvětluje to docela dobře.



  1. Výukový program SQL JOINs s příklady

  2. Kde jsou protokoly PostgreSQL na macOS?

  3. Postgres Query Plan, proč je odhad řádku tak špatný

  4. SQL Server ekvivalent funkce substring_index v MySQL