Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL - игнориране на грешка при вмъкване:дублиран запис

Можете да използвате 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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създайте уебсайт с MySQL

  2. PHP PDOException:SQLSTATE[HY093]:Невалиден номер на параметър

  3. Как да получите запис с максимална стойност в MySQL

  4. 3 начина за намиране на редове, които съдържат малки букви в MySQL

  5. Как да покажете редовете, които не присъстват в друга таблица в MySQL