Prøv at bruge INSERT ... ON DUPLICATE KEY UPDATE
Hvis du angiver ON DUPLICATE KEY UPDATE, og der indsættes en række, der ville forårsage en dubletværdi i et UNIKT indeks eller PRIMÆR NØGLE, udfører MySQL en OPDATERING af den gamle række.
For eksempel, hvis kolonne a er erklæret som UNIQUE og indeholder værdien 1, har følgende to udsagn lignende 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;
(Effekterne er ikke identiske for en tabel, hvor a er en auto-increment-kolonne. Med en auto-increment-kolonne, en INSERT
sætning øger den automatiske stigningsværdi, men UPDATE
ikke.)
ON DUPLICATE KEY UPDATE-udtrykket kan indeholde flere kolonnetildelinger, adskilt af kommaer.
Med ON DUPLICATE KEY UPDATE er den berørte rækkeværdi pr. række 1, hvis rækken er indsat som en ny række, og 2, hvis en eksisterende række er opdateret.
Håber dette vil hjælpe.