Mysql
 sql >> Baza danych >  >> RDS >> Mysql

UPDATE Ten sam wiersz po aktualizacji w wyzwalaczu

Nie możesz zaktualizować wierszy w tabeli w po aktualizacja wyzwalacza.

Być może chcesz coś takiego:

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

EDYCJA:

Wewnątrz wyzwalacza masz dostęp do OLD i NEW . OLD to stare wartości w rekordzie i NEW są nowe wartości. W przed wyzwalacz, NEW wartości są zapisywane w tabeli, więc możesz je modyfikować. W po wyzwalacz, NEW wartości zostały już zapisane, więc nie można ich modyfikować. Myślę, że dokumentacja MySQL wyjaśnia to całkiem dobrze.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP :Niezdefiniowana funkcja mysql_connect()

  2. Jak automatycznie załadować MySQL podczas uruchamiania systemu OS X Yosemite / El Capitan?

  3. Którą z tych 2 konfiguracji bazy danych powinienem wybrać?

  4. implodowanie listy do użycia w klauzuli MySQLDB IN w Pythonie

  5. funkcja php nie zwraca wszystkich wyników z zapytania MySQL w foreach