Mysql
 sql >> Database >  >> RDS >> Mysql

UPDATE Stessa riga dopo UPDATE in Trigger

Non puoi aggiornare le righe della tabella in un dopo attivazione dell'aggiornamento.

Forse vuoi qualcosa del genere:

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

MODIFICA:

All'interno di un attivatore, hai accesso a OLD e NEW . OLD sono i vecchi valori nel record e NEW sono i nuovi valori. In un prima trigger, il NEW i valori sono ciò che viene scritto nella tabella, quindi puoi modificarli. In un dopo trigger, il NEW i valori sono già stati scritti, quindi non possono essere modificati. Penso che la documentazione MySQL lo spiega abbastanza bene.