L'insertion d'une nouvelle ligne et la récupération de son champ « id » généré automatiquement peuvent être une étape critique dans les opérations de base de données . Même si le simple fait d'insérer une ligne et de l'interroger peut suffire, cela présente un problème potentiel d'enregistrements en double. Pour garantir la fiabilité, explorons des moyens efficaces pour résoudre ce défi.
Utiliser mysqli_insert_id()
La fonction mysqli_insert_id() est une excellente solution pour obtenir l'ID du enregistrement nouvellement inséré sans aucune condition de concurrence. C'est une méthode efficace et simple qui résout le problème sans effort.
$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db'); mysqli_query($link, "INSERT INTO mytable (1, 2, 3, 'blah')"); $id = mysqli_insert_id($link);
Méthode MySQL LAST_INSERT_ID()
Une autre approche utilise la méthode LAST_INSERT_ID() de MySQL, vous permettant de effectuez plusieurs insertions et récupérez « l'identifiant » en une seule requête. Cette approche garantit la cohérence et évite toute situation de concurrence potentielle.
mysqli_query($link, "INSERT INTO my_user_table ...; INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())");
Note d'avertissement
Il est important de se rappeler que chaque connexion MySQL maintient un suivi d'identification distinct, éliminant ainsi le risque de conflits d’identité. Cependant, il est essentiel d'utiliser ces techniques pour se prémunir contre des problèmes potentiels et maintenir l'intégrité de vos 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!