Probeer INSERT ... ON DUPLICATE KEY UPDATE
. te gebruiken
Als u ON DUPLICATE KEY UPDATE opgeeft en een rij wordt ingevoegd die een dubbele waarde in een UNIEKE index of PRIMARY KEY zou veroorzaken, voert MySQL een UPDATE van de oude rij uit.
Als kolom a bijvoorbeeld is gedeclareerd als UNIQUE en de waarde 1 bevat, hebben de volgende twee instructies een vergelijkbaar effect:
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;
(De effecten zijn niet identiek voor een tabel waarin a een auto-increment kolom is. Bij een auto-increment kolom, een INSERT
statement verhoogt de auto-increment waarde maar UPDATE
niet.)
De ON DUPLICATE KEY UPDATE-clausule kan meerdere kolomtoewijzingen bevatten, gescheiden door komma's.
Met ON DUPLICATE KEY UPDATE is de waarde van de betreffende rijen per rij 1 als de rij wordt ingevoegd als een nieuwe rij, en 2 als een bestaande rij wordt bijgewerkt.
Hoop dat dit zal helpen.