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

AUTO_INCREMENT a LAST_INSERT_ID

SELECT max(employeeid) FROM Employee;

Výše uvedený dotaz vrací hodnotu employeeid posledního vloženého záznamu v tabulce Zaměstnanci, protože employeeid je sloupec automatického přírůstku. To se zdá být v pořádku, ale předpokládejme dvě vlákna současně provádějí operaci vložení, existuje možnost, že zadáte špatné ID posledního vloženého záznamu!

Nebojte se, MySQL poskytuje funkci, která vrací hodnotu sloupce automatického přírůstku posledního vloženého záznamu.

SELECT LAST_INSERT_ID();

LAST_INSERT_ID() je vždy specifická pro připojení , to znamená, že i když je operace vkládání provedena současně z různých připojení, vždy vrací hodnotu aktuální operace specifické pro připojení.

Takže musíte nejprve vložit záznam do tabulky Zaměstnanec, spustit výše uvedený dotaz pro získání hodnoty id a použít ji k vložení do druhé tabulky.



  1. Jak najít chybějící hodnotu mezi dvěma tabulkami Mysql

  2. Rozdělte struny správným způsobem – nebo dalším nejlepším způsobem

  3. C++ Program komunikující s MySQL databází

  4. Jak zlepšit rychlost zápisu InnoDB za sekundu v MySQL DB