sql >> Databasteknik >  >> RDS >> Mysql

Unik begränsning, hur man undviker dubbletter

Framtvinga den unika begränsningen genom att skapa en unik nyckel:

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

Denna begränsning förbjuder två rader med samma nid och språk.

Alla frågor som försöker bryta mot begränsningen kommer att misslyckas.

Eftersom du vill ignorera fel (och ändå avbryta frågan), kan du använda INSERT IGNORE och UPPDATERA IGNORERA :

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


  1. SQL:hur ordnar jag efter ett fält om det inte är null annars använd ett annat fält

  2. MySQL Docker-behållaren sparar inte data till ny bild

  3. Stage APPL_TOP i Oracle Applications R12

  4. ORA-00942:Kan man välja från schema.table men inte tabell?