Försök att använda INSERT ... ON DUPLICATE KEY UPDATE
Om du anger ON DUPLICATE KEY UPDATE, och en rad infogas som skulle orsaka ett duplikatvärde i ett UNIKT index eller PRIMÄR KEY, utför MySQL en UPPDATERING av den gamla raden.
Till exempel, om kolumn a deklareras som UNIQUE och innehåller värdet 1, har följande två påståenden liknande effekt:
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
UPDATE table SET c=c+1 WHERE a=1;
(Effekterna är inte identiska för en tabell där a är en kolumn för automatisk ökning. Med en kolumn för automatisk ökning, en INSERT
uttalandet ökar värdet för automatisk ökning men UPDATE
inte.)
ON DUPLICATE KEY UPDATE-satsen kan innehålla flera kolumntilldelningar, separerade med kommatecken.
Med ON DUPLICATE KEY UPDATE är värdet för berörda rader per rad 1 om raden infogas som en ny rad och 2 om en befintlig rad uppdateras.
Hoppas detta hjälper.