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

Načítání posledních vložených ID pro více řádků

Voláním last_insert_id() získáte id PRVNÍHO řádku vloženého do poslední dávky. Všechny ostatní vložené jsou zaručeně sekvenční.

Pokud neděláte něco velmi zvláštního, umožňuje vám to dostatečně snadno vypočítat ID každého řádku.

Ve skutečnosti se chování ve verzi 5.1 liší v závislosti na nastavení parametru innodb auto increment mode; to by nemělo vadit. Dokud jej nezměníte z výchozího nastavení, uvidíte očekávané chování.

Občas se vyskytnou případy, kdy to nedělá to, co očekáváte, a není to užitečné – například když provedete AKTUALIZACI KLÍČE ON DUPLICATE nebo INSERT IGNORE. V těchto případech budete muset udělat něco jiného, ​​abyste zjistili ID každého řádku.

Ale pro obyčejnou vanilkovou dávku INSERT, bez zadaných hodnot pro sloupec auto-inc, je to snadné.

Úplný popis automatických přírůstků zpracované v innodb je zde



  1. Jak získám výstupní parametr uložené procedury, který je polem, aby fungoval?

  2. Dotazujte se pouze na první data z tabulky

  3. SQL Server 2008:Jak udělím oprávnění uživatelskému jménu?

  4. Jak namapovat sloupec MySQL JSON na vlastnost entity Java pomocí JPA a Hibernate