Mysql
 sql >> база данни >  >> RDS >> Mysql

AUTO_INCREMENT и LAST_INSERT_ID

SELECT max(employeeid) FROM Employee;

Горната заявка връща стойността на employeeid на последния вмъкнат запис в таблицата Employee, защото employeeid е колона с автоматично увеличение. Това изглежда е наред, но да предположим две нишки изпълняват операция вмъкване едновременно, има вероятност да получите грешен идентификационен номер на последния вмъкнат запис!

Не се притеснявайте, MySQL предоставя функция, която връща стойността на колоната за автоматично увеличение на последния вмъкнат запис.

SELECT LAST_INSERT_ID();

LAST_INSERT_ID() винаги е специфична за връзката , това означава, че дори ако операцията по вмъкване се извършва едновременно от различни връзки, тя винаги връща стойността на текущата специфична операция за връзка.

Така че първо трябва да вмъкнете запис в таблица Employee, да изпълните горната заявка, за да получите стойността на идентификатора и да го използвате, за да вмъкнете във втората таблица.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL CREATE USER с променлива?

  2. неуспешно изпълнение на оператор с php и mysql

  3. Пускане на уникален ключ в много колони, без да пускате външен ключ?

  4. Как да наблюдавате множество MySQL екземпляри, работещи на една и съща машина - ClusterControl Съвети и трикове

  5. PHP MYSQL Блог Архив Меню по година и месец