De nombreuses tâches nécessitent l'ajout de nouveaux enregistrements à une base de données et leur accès ultérieur. Traditionnellement, cela implique des opérations d'insertion et de récupération distinctes. Mais saviez-vous qu'il est possible d'accomplir les deux tâches en une seule requête ?
Insertion et sélection atomique de valeurs
La clé réside dans l'utilisation de la fonction LAST_INSERT_ID(). Après avoir exécuté une instruction d'insertion, cette fonction renvoie l'ID généré pour la ligne nouvellement insérée.
Exemple :
Considérons l'exemple fourni dans la question :
<code class="sql">INSERT INTO `items` (`item`, `number`, `state`) (SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3')</code>
Pour obtenir l'ID de la ligne insérée et récupérer ses autres valeurs, vous pouvez exécuter la requête suivante :
<code class="sql">SELECT * FROM `items` WHERE `id`= LAST_INSERT_ID()</code>
Cette requête récupérera la ligne entière de la table items qui correspond à la dernière ligne insérée.
Avantages :
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!