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!