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 (https://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);