Maison > base de données > tutoriel mysql > Comment récupérer efficacement les identifiants générés automatiquement après l'insertion MySQL ?

Comment récupérer efficacement les identifiants générés automatiquement après l'insertion MySQL ?

Barbara Streisand
Libérer: 2024-12-10 15:08:14
original
1053 Les gens l'ont consulté

How to Efficiently Retrieve Auto-Generated IDs After MySQL Insertion?

MySQL : insertion d'une ligne et récupération de l'ID généré automatiquement

Lors de l'insertion d'une nouvelle ligne dans une table MySQL avec un ID à incrémentation automatique Dans ce champ, l'obtention de l'ID nouvellement généré peut être essentielle pour maintenir l'intégrité des données et les relations. Cet article explore deux méthodes fiables pour insérer une ligne et récupérer son ID efficacement.

Méthode 1 : Utiliser mysqli_insert_id()

En PHP, la fonction mysqli_insert_id() fournit une approche simple pour récupérer l'ID généré automatiquement après l'insertion d'une ligne. Cette fonction renvoie l'ID le plus récent généré pour la connexion donnée, vous permettant d'y accéder immédiatement après l'insertion.

$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db');
mysqli_query($link, "INSERT INTO mytable (...)");
$id = mysqli_insert_id($link);
Copier après la connexion

Méthode 2 : approche à requête unique

Une autre méthode efficace consiste à combiner à la fois l'insertion de ligne et la récupération d'ID dans une seule requête MySQL à l'aide de la fonction LAST_INSERT_ID(). Cette approche garantit que les deux opérations sont exécutées dans le cadre d'une seule transaction, éliminant ainsi le risque de conditions de concurrence critique ou d'ID en double.

mysqli_query($link, "INSERT INTO my_user_table (...)...;
INSERT INTO my_other_table (user_id) VALUES (LAST_INSERT_ID())");
Copier après la connexion

Remarque : Chaque connexion à la base de données conserve sa propre séquence de ID générés automatiquement, évitant ainsi les conflits entre les connexions.

En employant ces méthodes, vous pouvez insérer en toute confiance des lignes dans les tables MySQL et obtenir les ID générés automatiquement sans compromettre performances ou intégrité des données.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal