sql >> Databasteknik >  >> RDS >> Mysql

UPPDATERING Samma rad Efter UPPDATERING i Trigger

Du kan inte uppdatera rader i tabellen i ett efter uppdateringsutlösare.

Du kanske vill ha något sånt här:

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

EDIT:

Inuti en trigger har du tillgång till OLD och NEW . OLD är de gamla värdena i posten och NEW är de nya värderingarna. I ett före trigger, NEW värden är det som skrivs till tabellen, så du kan ändra dem. I ett efter trigger, NEW värden har redan skrivits, så de kan inte ändras. Jag tror att MySQL-dokumentationen förklarar detta ganska bra.



  1. Mysql-bulkuppdatering

  2. Exportera data från SQL Server till Excel och textfil via SSIS-paketet

  3. Visa begränsningar på tabellkommandot

  4. Hur man strängformaterar SQL IN-sats med Python