Insérer MySQL avec récupération automatique de l'ID
Lors de l'insertion d'une nouvelle ligne dans une table MySQL, il est souvent nécessaire de récupérer l'identifiant nouvellement attribué ' valeur. Le champ « id » s'incrémente généralement automatiquement, garantissant le caractère unique de chaque ligne. Cependant, cela peut être un problème s'il y a un délai entre l'insertion de la ligne et la récupération de « l'identifiant ».
Une méthode pour atténuer ce problème consiste à utiliser l'instruction INSERT ... SELECT de MySQL. Cette instruction vous permet d'insérer une ligne à partir d'une requête SELECT, en obtenant la valeur 'id' en une seule transaction.
$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db'); mysqli_query($link, "INSERT INTO mytable SELECT 1, 2, 3, 'blah' FROM DUAL"); $id = mysqli_insert_id($link);
Dans cet exemple, l'instruction INSERT ... SELECT insère une ligne dans la mytable avec les données spécifiées, tandis que la fonction mysqli_insert_id() récupère la valeur 'id' de la ligne nouvellement insérée.
Une autre approche consiste à utiliser la méthode MySQL Fonction LAST_INSERT_ID(). Cette fonction renvoie la valeur 'id' de la dernière ligne insérée pour la connexion actuelle. Cependant, il est important de noter que la valeur LAST_INSERT_ID() est spécifique à la connexion, il est donc essentiel de l'utiliser dans la même connexion qui a effectué l'opération INSERT.
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!