Maison > base de données > tutoriel mysql > Comment insérer plusieurs lignes de sous-requêtes dans des tables dans MySQL ?

Comment insérer plusieurs lignes de sous-requêtes dans des tables dans MySQL ?

Linda Hamilton
Libérer: 2024-10-30 03:50:02
original
553 Les gens l'ont consulté

How to Insert Multiple Rows from Subqueries into Tables in MySQL?

Insertion de plusieurs lignes à partir de sous-requêtes dans des tables

Lorsque vous tentez d'insérer plusieurs lignes dans une table à l'aide d'une sous-requête qui renvoie plusieurs lignes, vous pouvez rencontrer l'erreur 1242 (21000) : la sous-requête renvoie plus d'une ligne. Cette erreur est due à la contrainte de MySQL concernant l'insertion de plusieurs lignes à l'aide d'une seule instruction INSERT.

Pour résoudre ce problème, utilisez la technique suivante :

Combinez les données de ligne statiques que vous souhaitez insérer avec la sous-requête. Par exemple, si vous souhaitez insérer le nom "Henry" dans une colonne nommée "names" pour chaque ligne renvoyée par la sous-requête, modifiez la requête comme suit :

INSERT INTO Results (People, names)
SELECT d.id, 'Henry'
FROM Names f
JOIN People d ON d.id = f.id
Copier après la connexion

Dans cette requête modifiée, le static la valeur 'Henry' est combinée avec la sous-requête. En conséquence, chaque ligne renvoyée par la sous-requête aura la colonne « noms » renseignée avec la valeur « Henry ».

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 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