AUTO_INCREMENT
kolonne er kun sat efter indsætte.
Hvis du har brug for at adgang den værdi, kan du kun i en AFTER INSERT
udløser. Du kan dog ikke ændre en kolonneværdi i en AFTER UPDATE
trigger...
Derudover kan du ikke udføre en opdatering af tabellen brugt i din AFTER INSERT
trigger som (http://dev.mysql. com/doc/refman/5.0/da/stored-program-restrictions.html
):
Her ville den eneste rimelige løsning være at oprette en lagret procedure for at opdatere tabellen, justere de relevante kolonner i en transaktion for at "emulere" din atomic insert-sætning.
Når det er sagt, i dit særlige tilfælde , key
kolonne er overflødig, da denne kolonne kun er sammenkædningen af to andre kolonner i samme række.
I betragtning af dets navn, leder du ikke efter en måde at oprette en sammensat nøgle i stedet for? Sådan noget:
ALTER TABLE tbl ADD UNIQUE KEY (countryCode, id);