sql >> Databáze >  >> RDS >> Mysql

MySQL - ignorovat chybu vložení:duplicitní záznam

Můžete použít INSERT... IGNORE syntaxe, pokud nechcete provádět žádnou akci, když existuje duplicitní záznam.

Můžete použít REPLACE INTO syntaxe, pokud chcete přepsat starý záznam novým se stejným klíčem.

Nebo můžete použít INSERT... ON DUPLICATE KLÍČOVÁ AKTUALIZACE syntaxi, pokud chcete místo toho provést aktualizaci záznamu, když narazíte na duplikát.

Edit:Myslel jsem, že bych přidal nějaké příklady.

Příklady

Řekněme, že máte tabulku s názvem tbl se dvěma sloupci, id a value . Existuje jeden záznam, id=1 a hodnota=1. Pokud spustíte následující příkazy:

REPLACE INTO tbl VALUES(1,50);

Stále máte jeden záznam s id=1 hodnota=50. Všimněte si, že celý záznam byl nejprve VYMAZÁN a poté znovu vložen. Potom:

INSERT IGNORE INTO tbl VALUES (1,10);

Operace se úspěšně provede, ale nic se nevloží. Stále máte id=1 a hodnotu=50. Konečně:

INSERT INTO tbl VALUES (1,200) ON DUPLICATE KEY UPDATE value=200;

Nyní máte jeden záznam s id=1 a hodnotou=200.



  1. Funkce INITCAP() v Oracle

  2. Alfanumerické řazení pomocí PostgreSQL

  3. Získání opravných sad databáze

  4. příkaz sqlplus z příkazového řádku