Maison  >  Article  >  base de données  >  Comment puis-je insérer plusieurs lignes dans une table à l’aide d’une sous-requête dans MySQL ?

Comment puis-je insérer plusieurs lignes dans une table à l’aide d’une sous-requête dans MySQL ?

DDD
DDDoriginal
2024-11-01 03:17:02453parcourir

How Can I Insert Multiple Rows into a Table Using a Subquery in MySQL?

INSÉRER plusieurs lignes avec une sous-requête dans MySQL

Vous recherchez une solution pour remplir une table avec plusieurs lignes renvoyées par une sous-requête. L'exemple de requête que vous avez fourni tente d'y parvenir à l'aide d'une clause VALUES imbriquée, mais elle entraîne une erreur car la sous-requête renvoie plusieurs lignes.

Résolution de l'erreur

Pour surmonter ce problème, vous devez éviter d'imbriquer la sous-requête dans la clause VALUES. Au lieu de cela, combinez la sous-requête avec une valeur statique pour le nom en utilisant l'approche suivante :

INSERT INTO Results (People, names)
SELECT d.id, 'Henry'
FROM Names f
JOIN People d ON d.id = f.id

Cette requête renverra plusieurs lignes avec l'identifiant de la sous-requête combiné avec la chaîne statique « Henry » pour la colonne de nom. .

Explication

En combinant la sous-requête et la valeur statique dans la clause SELECT, vous créez effectivement une seule ligne pour chaque ligne renvoyée par la sous-requête. Cela permet à l'instruction INSERT d'ajouter avec succès ces lignes à la table Résultats.

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