Описание тега on-duplicate-key

ON DUPLICATE KEY UPDATE - это функция SQL в MySQL, которая позволяет обновлять строку вместо вставки в запрос INSERT, если в противном случае она попытается создать повторяющийся ключ в уникальном индексе.

ON DUPLICATE KEY UPDATE - это функция SQL в MySQL, которая позволяет обновлять строку вместо вставки в запрос INSERT, если в противном случае она попытается создать повторяющийся ключ в уникальном индексе.

Пример:

INSERT INTO t (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;  

Так что если c уникальный столбец в таблице t, а ключ 3 уже существует для столбца c, то MySQL выполняет обновление c=c+1 а не вставлять.

Эта функция устраняет необходимость в дополнительной проверке запроса на наличие повторяющихся значений ключей.

Ссылка: Руководство по MySQL