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

Уникално ограничение, как да се избегнат дубликати

Наложете уникалното ограничение, като създадете уникален ключ:

ALTER TABLE the_table
ADD UNIQUE INDEX nid_language_unique (nid, language);

Това ограничение забранява два реда да имат един и същ nid и език.

Всяка заявка, която се опитва да наруши ограничението, ще се провали.

Тъй като искате да игнорирате грешки (и все пак да прекратите заявката), можете да използвате INSERT IGNORE и АКТУАЛИЗИРАНЕ ИГНОРИРАНЕ :

INSERT IGNORE INTO the_table (nid, language) VALUES (8, 'Chinese')
/* row not inserted and no error */


  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. MySQL избира и изчислява стойност от множество колони

  3. MYSQL заявка за получаване на разлика в датата

  4. MYSQL импортира данни от csv с помощта на LOAD DATA INFILE

  5. Грешка в базата данни на MySQL:Постоянни, произволни или зависими от часовата зона изрази във функцията за (под)разделяне не са разрешени