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

MySQL — wyzwalacz aktualizacji tej samej tabeli po wstawieniu

Wydaje się, że nie da się tego wszystkiego zrobić w spuście. Według dokumentacji :

Wewnątrz przechowywanej funkcji lub wyzwalacza nie wolno modyfikować tabeli, która jest już używana (do odczytu lub zapisu) przez instrukcję, która wywołała funkcję lub wyzwalacz.

Według ta odpowiedź , wydaje się, że powinieneś:

utwórz procedurę składowaną, która wstawia/aktualizuje tabelę docelową, a następnie aktualizuje inne wiersze, wszystkie w transakcji.

Za pomocą przechowywanego procesu ręcznie zatwierdzisz zmiany (wstaw i zaktualizuj). Nie zrobiłem tego w MySQL, ale ten post wygląda na dobry przykład.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najlepsze sposoby naprawy uszkodzonej tabeli InnoDB w MySQL

  2. Jak podłączyć bazę danych mySQL za pomocą C++

  3. Zmień lub ustaw wartość długiego czasu zapytań MySQL dla zapytań log-slow-query

  4. Limit warunku MySQL IN

  5. Wybierz 10 najlepszych rekordów dla każdej kategorii w MySQL