Maison > base de données > tutoriel mysql > Comment insérer correctement plusieurs valeurs dans un tableau à l'aide d'une sous-requête ?

Comment insérer correctement plusieurs valeurs dans un tableau à l'aide d'une sous-requête ?

Susan Sarandon
Libérer: 2025-01-05 20:11:44
original
408 Les gens l'ont consulté

How to Correctly Insert Multiple Values into a Table Using a Subquery?

Insérer des valeurs dans une table à l'aide d'une sous-requête

Insérer des valeurs dans une table à l'aide d'une sous-requête avec plusieurs résultats peut être difficile. Considérons le scénario dans lequel vous disposez de deux tables, article et prix, et que vous souhaitez insérer des entrées dans les prix en fonction d'identifiants spécifiques obtenus à partir de l'article.

Une approche courante, qui conduit souvent à des erreurs SQL, consiste à utiliser un sous-requête dans la clause VALUES :

INSERT INTO prices (group, id, price) 
VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);
Copier après la connexion

Cette requête entraînera une erreur car la sous-requête renvoie plusieurs résultats.

L'approche correcte consiste à utilisez l'instruction select dans la requête INSERT et codez en dur les champs constants :

insert into prices (group, id, price)
select 
    7, articleId, 1.50
from article where name like 'ABC%';
Copier après la connexion

En séparant les champs constants de la sous-requête, vous pouvez vous assurer qu'une seule ligne est insérée pour chaque résultat de la sous-requête.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal