sql >> Database >  >> RDS >> Mysql

UPDATE Dezelfde rij na UPDATE in Trigger

U kunt rijen in de tabel niet bijwerken in een na update-trigger.

Misschien wil je zoiets als dit:

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

BEWERKEN:

Binnen een trigger heb je toegang tot OLD en NEW . OLD zijn de oude waarden in het record en NEW zijn de nieuwe waarden. In een voor trigger, de NEW waarden worden naar de tabel geschreven, zodat u ze kunt wijzigen. In een na trigger, de NEW waarden zijn al geschreven, dus ze kunnen niet worden gewijzigd. Ik denk dat de MySQL-documentatie legt dit vrij goed uit.



  1. Alle uitgeschakelde beperkingen in SQL Server retourneren (T-SQL-voorbeeld)

  2. ExecuteScalar vs ExecuteNonQuery bij het retourneren van een identiteitswaarde

  3. Eenvoudige manier om één record uit MySQL te lezen

  4. MySQL-query is langzamer na het maken van de index