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

Wyzwalacz MySQL przed wstawieniem kolumny aktualizacji z nowym identyfikatorem automatycznego przyrostu

AUTO_INCREMENT kolumny są ustawiane tylko po wstawić.

Jeśli potrzebujesz dostępu tę wartość, możesz tylko w AFTER INSERT cyngiel. Nie możesz jednak modyfikować wartość kolumny w AFTER UPDATE wyzwalacz...

Ponadto nie można wykonać aktualizacji tabeli używanej w AFTER INSERT wyzwalacz jako (http://dev.mysql. com/doc/refman/5.0/en/stored-program-restrictions.html ):

W tym przypadku jedynym rozsądnym rozwiązaniem byłoby utworzenie procedury składowanej w celu aktualizacji tabeli, dostosowując odpowiednie kolumny w transakcji w celu „emulowania” instrukcji wstawiania atomowego.

Biorąc to pod uwagę, w Twoim konkretnym przypadku , key kolumna jest zbędna, ponieważ ta kolumna jest po prostu konkatenacją dwóch innych kolumn tego samego wiersza.

Biorąc pod uwagę jego nazwę, czy nie szukasz sposobu na utworzenie zamiast tego klucza złożonego? Coś takiego:

ALTER TABLE tbl ADD UNIQUE KEY (countryCode, id);



  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 praktyki dotyczące flag bitowych w PHP

  2. Skonfiguruj dużą bazę danych w MySQL do analizy w R

  3. MySQL — DOŁĄCZ DO LUB b

  4. Jak wyczyścić konsolę ekranu mysql w systemie Windows?

  5. Jak usunąć cyfry z końca ciągu za pomocą SQL?