Maison  >  Article  >  base de données  >  Comment insérer plusieurs lignes à partir d'une sous-requête SELECT dans MySQL ?

Comment insérer plusieurs lignes à partir d'une sous-requête SELECT dans MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-29 21:36:30251parcourir

How to Insert Multiple Rows from a SELECT Subquery in MySQL?

Insertion de plusieurs lignes d'une requête SELECT dans une nouvelle table

Lors d'une tentative d'insertion de données dans une nouvelle table à l'aide d'une sous-requête SELECT qui renvoie plusieurs lignes, MySQL peut rencontrer une erreur : "La sous-requête renvoie plus d'une ligne". Pour résoudre ce problème, envisagez l'approche suivante :

Solution :

Modifiez votre instruction INSERT pour combiner les valeurs statiques avec la requête SELECT. Par exemple, pour remplir la table Résultats avec toutes les lignes renvoyées :

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

En incorporant la valeur statique "Henry" dans la requête SELECT, MySQL peut insérer avec succès les résultats dans la table Résultats. Cette méthode permet d'insérer plusieurs lignes même si la sous-requête renvoie un nombre indéterminé de lignes.

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