Pokud zadáte ON DUPLICATE KEY UPDATE
a vloží se řádek, který by způsobil duplicitní hodnotu v UNIQUE
index nebo PRIMARY
KEY
, UPDATE
starého řádku se provádí. Pokud je například sloupec a deklarován jako UNIQUE
a obsahuje hodnotu 1, následující dva příkazy mají stejný účinek:
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;