Можете да използвате INSERT... IGNORE синтаксис, ако не искате да предприемате никакви действия, когато има дублиран запис.
Можете да използвате ЗАМЕНИ В синтаксис, ако искате да презапишете стар запис с нов със същия ключ.
Или можете да използвате INSERT... ON DUPLICATE КЛЮЧОВА АКТУАЛИЗАЦИЯ синтаксис, ако вместо това искате да извършите актуализация на записа, когато срещнете дубликат.
Редактиране:Реших да добавя някои примери.
Примери
Да кажем, че имате таблица с име tbl
с две колони, id
и value
. Има един запис, id=1 и value=1. Ако изпълните следните оператори:
REPLACE INTO tbl VALUES(1,50);
Все още имате един запис с id=1 стойност=50. Обърнете внимание, че целият запис обаче беше първо ИЗТРИТ и след това беше вмъкнат отново. След това:
INSERT IGNORE INTO tbl VALUES (1,10);
Операцията се изпълнява успешно, но нищо не е въведено. Все още имате id=1 и value=50. И накрая:
INSERT INTO tbl VALUES (1,200) ON DUPLICATE KEY UPDATE value=200;
Вече имате един запис с id=1 и value=200.