AUTO_INCREMENT
列は後にのみ設定されます 入れる。
アクセスする必要がある場合 その値の場合、AFTER INSERT
でのみ使用できます 引き金。ただし、変更することはできません AFTER UPDATE
の列の値 トリガー...
また、AFTER INSERT
で使用されているテーブルを更新することはできません。 ( http://dev.mysqlとしてトリガーします。 com / doc / refman / 5.0 / en / Stored-program-restrictions.html
):
ここでの唯一の合理的な解決策は、テーブルを更新するストアドプロシージャを作成し、トランザクション内の関連する列を調整して、アトミック挿入ステートメントを「エミュレート」することです。
そうは言っても、あなたの特定のケースでは 、key
その列は同じ行の他の2つの列を連結したものであるため、列は冗長です。
その名前から、代わりに複合キーを作成する方法を探していませんか?そのようなもの:
ALTER TABLE tbl ADD UNIQUE KEY (countryCode, id);