AUTO_INCREMENT
Spalte werden nur nach gesetzt Einfügung.
Wenn Sie Zugriff benötigen diesen Wert können Sie nur in einem AFTER INSERT
eingeben Abzug. Sie können jedoch nicht ändern ein Spaltenwert in einem AFTER UPDATE
auslösen...
Darüber hinaus können Sie die in Ihrem AFTER INSERT
verwendete Tabelle nicht aktualisieren auslösen als (http://dev.mysql. com/doc/refman/5.0/en/stored-program-restrictions.html
):
Hier wäre die einzig vernünftige Lösung, eine gespeicherte Prozedur zu erstellen, um die Tabelle zu aktualisieren und die relevanten Spalten in einer Transaktion anzupassen, um Ihre atomare Einfügeanweisung zu "emulieren".
Davon abgesehen in Ihrem speziellen Fall , die key
Spalte ist redundant, da diese Spalte nur die Verkettung von zwei anderen Spalten derselben Zeile ist.
Suchen Sie angesichts seines Namens nicht nach einer Möglichkeit, stattdessen einen zusammengesetzten Schlüssel zu erstellen? Etwas in der Art:
ALTER TABLE tbl ADD UNIQUE KEY (countryCode, id);