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

MySQL NA DUPLIKÁTNÍM KLÍČI – poslední vložené ID?

Podívejte se na tuto stránku:https://web. archive.org/web/20150329004325/https://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
Ve spodní části stránky vysvětlují, jak můžete učinit LAST_INSERT_ID smysluplným pro aktualizace předáním výrazu této funkci MySQL.

Z příkladu dokumentace MySQL:

Pokud tabulka obsahuje sloupec AUTO_INCREMENT a INSERT ... UPDATE vloží řádek, funkce LAST_INSERT_ID() vrátí hodnotu AUTO_INCREMENT. Pokud příkaz místo toho aktualizuje řádek, LAST_INSERT_ID() nemá smysl. Můžete to však obejít pomocí LAST_INSERT_ID(expr). Předpokládejme, že id je sloupec AUTO_INCREMENT. Aby LAST_INSERT_ID() mělo pro aktualizace smysl, 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 připojit více databází v PHP, MYSQLi &PDO

  2. Levé a pravé spojení pomocí plus (+) přihlášení do Oracle

  3. Android Sqlite při upgradu odstraňte tabulku z databáze

  4. Jak vyléčím příčinu výjimky Hibernate Při volání setter došlo k výjimce IllegalArgumentException?