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);