Maison  >  Article  >  base de données  >  Comment récupérer des données d'une ligne nouvellement insérée dans MySQL avec une seule requête ?

Comment récupérer des données d'une ligne nouvellement insérée dans MySQL avec une seule requête ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-25 03:36:02188parcourir

How to Retrieve Data from Newly Inserted Row in MySQL with a Single Query?

Récupérer les données d'une ligne nouvellement insérée dans une seule requête

Il est possible d'insérer une ligne et de récupérer ses valeurs à l'aide d'une seule requête dans MySQL. Pour ce faire, suivez ces étapes :

  1. Exécutez l'instruction INSERT pour ajouter la nouvelle ligne.
  2. Utilisez la fonction LAST_INSERT_ID() pour récupérer l'ID de la ligne nouvellement créée. Cette fonction renvoie l'ID de la dernière ligne insérée par l'instruction INSERT précédente.
  3. Combinez l'instruction INSERT avec une instruction SELECT pour récupérer les valeurs insérées dans la nouvelle ligne. Voici un exemple :
<code class="sql">INSERT INTO `items` (`item`, `number`, `state`) 
(SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3');

SELECT * FROM `items` WHERE `id`= LAST_INSERT_ID();</code>

Dans cet exemple, la première instruction insère une nouvelle ligne dans la table items en sélectionnant les données de la table item_bug où id est égal à « 3 ». La deuxième instruction sélectionne toutes les colonnes de la table items où l'identifiant est égal à l'ID de la ligne nouvellement insérée, qui est récupéré à l'aide de la fonction LAST_INSERT_ID().

Cette approche vous permet d'insérer une ligne et d'obtenir les valeurs insérées dans une seule requête, ce qui la rend à la fois efficace et pratique.

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