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

vložit při aktualizaci duplicitního klíče

Věřím, že odpověď na toto je řešena v MySQL dokumenty :

Pokud tabulka obsahuje AUTO_INCREMENT a INSERT ... UPDATE vloží řádek, LAST_INSERT_ID() funkce vrací AUTO_INCREMENT hodnota. Pokud příkaz místo toho aktualizuje řádek, LAST_INSERT_ID() není smysluplné. Můžete to však obejít pomocí LAST_INSERT_ID(expr) . Předpokládejme, že id je AUTO_INCREMENT sloupec. Chcete-li vytvořit LAST_INSERT_ID() smysluplné pro aktualizace, vložte řádky následovně:

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;


  1. Jak odstranit všechny nealfanumerické znaky z řetězce v MySQL?

  2. Jak vrátit levou nebo pravou část řetězce v MySQL

  3. správný způsob, jak spustit/zastavit postgres databázi pg_ctl nebo službu postgres

  4. Jak získat Mysql rownum nepřetržitě přes stránkování