Maison >base de données >tutoriel mysql >Comment récupérer le dernier ID d'incrémentation automatique inséré dans MySQL ?

Comment récupérer le dernier ID d'incrémentation automatique inséré dans MySQL ?

DDD
DDDoriginal
2024-12-09 09:50:07213parcourir

How to Retrieve the Last Inserted Auto-Increment ID in MySQL?

Trouver l'équivalent de SCOPE_IDENTITY() de SQL Server dans MySQL

La fonction SQL Server SCOPE_IDENTITY() fournit un moyen de récupérer la dernière identité valeur générée par une instruction INSERT dans la portée actuelle. Son équivalent dans MySQL est LAST_INSERT_ID().

LAST_INSERT_ID()

La fonction LAST_INSERT_ID() renvoie l'ID généré par l'opération INSERT la plus récente qui a inséré une ligne dans une table avec une colonne AUTO_INCREMENT. Sa syntaxe est la suivante :

LAST_INSERT_ID([table_name])

Le paramètre facultatif table_name spécifie la table à partir de laquelle récupérer la dernière valeur d'identité. En cas d'omission, LAST_INSERT_ID() renvoie la valeur de la dernière table dans laquelle une colonne AUTO_INCREMENT a été insérée.

Exemple

Considérez le tableau suivant :

CREATE TABLE Foo (
    FooId INT AUTO_INCREMENT PRIMARY KEY
);

L'insertion d'une ligne dans cette table à l'aide d'une instruction INSERT générera un identifiant pour le nouvel enregistrement. La fonction LAST_INSERT_ID() peut être utilisée pour récupérer cet ID immédiatement après l'opération INSERT, comme indiqué ici :

INSERT INTO Foo () VALUES ();
SELECT LAST_INSERT_ID();

Cela renverra l'ID de l'enregistrement nouvellement créé.

Notes supplémentaires

  • LAST_INSERT_ID() récupère uniquement l'ID de la session en cours. Il ne renvoie pas les identifiants générés dans d'autres sessions.
  • Lors de l'insertion de plusieurs lignes à l'aide d'une seule instruction INSERT dans une transaction, LAST_INSERT_ID() renvoie l'ID de la première ligne qui a été insérée.
  • Si une instruction INSERT ne génère pas de valeur d'identité, LAST_INSERT_ID() renvoie 0.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn