Om du anger PÅ UPPDATERING AV DUPLIKATNYCKEL
, och en rad infogas som skulle orsaka ett dubblettvärde i en UNIQUE index eller PRIMÄR NYCKEL , en UPPDATERING av den gamla raden utförs. Till exempel, om kolumn a deklareras som UNIQUE och innehåller värdet 1, har följande två påståenden identisk 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;