Se specifichi ON DUPLICATE KEY UPDATE
e viene inserita una riga che causerebbe un valore duplicato in un UNIQUE
index o PRIMARY
KEY
, un UPDATE
della vecchia riga viene eseguita. Ad esempio, se la colonna a è dichiarata come UNIQUE
e contiene il valore 1, le seguenti due affermazioni hanno effetto identico:
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;