Si vous spécifiez ON DUPLICATE KEY UPDATE
, et une ligne est insérée qui entraînerait une valeur en double dans un UNIQUE
index ou PRIMARY
KEY
, une UPDATE
de l'ancienne rangée est effectuée. Par exemple, si la colonne a est déclarée comme UNIQUE
et contient la valeur 1, les deux instructions suivantes ont le même effet :
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;