Maison > base de données > tutoriel mysql > le corps du texte

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

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