Maison  >  Article  >  base de données  >  Comment récupérer les valeurs de ligne insérées dans une seule requête MySQL ?

Comment récupérer les valeurs de ligne insérées dans une seule requête MySQL ?

DDD
DDDoriginal
2024-10-25 08:05:28957parcourir

How to Retrieve Inserted Row Values in a Single MySQL Query?

Récupération des valeurs de ligne insérées dans une seule requête MySQL

Lors de l'insertion d'une nouvelle ligne dans une table MySQL, il est souvent nécessaire de récupérer les valeurs nouvellement insérées pour un traitement ultérieur ou référencement. Voici comment insérer une ligne et acquérir simultanément son contenu en une seule requête.

La requête fournie :

INSERT INTO `items` (`item`, `number`, `state`) 
(SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3')

insère une ligne dans la table items, en sélectionnant les données de la table item_bug avec id égal à 3. Cependant, cette requête ne fournit pas de moyen de récupérer l'enregistrement nouvellement inséré.

Pour réaliser à la fois l'insertion et la récupération en une seule requête, vous pouvez utiliser la fonction LAST_INSERT_ID(). Cette fonction renvoie l'ID de la dernière ligne insérée. En la combinant avec une requête supplémentaire, vous pouvez obtenir les détails de l'enregistrement inséré.

Voici la requête modifiée :

INSERT INTO `items` (`item`, `number`, `state`) 
(SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3');

SELECT * FROM `items` WHERE `id` = LAST_INSERT_ID();

Cette requête insère d'abord la ligne dans la table des éléments. Ensuite, il exécute la requête SELECT, qui récupère toutes les colonnes de la table items pour la ligne avec un identifiant égal au dernier ID inséré.

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