ホームページ  >  記事  >  データベース  >  MySQL のテーブルにサブクエリから複数の行を挿入するにはどうすればよいですか?

MySQL のテーブルにサブクエリから複数の行を挿入するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-30 03:50:02472ブラウズ

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

サブクエリからテーブルへの複数の行の挿入

複数の行を返すサブクエリを使用してテーブルに複数の行を挿入しようとすると、エラー 1242 (21000): サブクエリは複数の行を返します。このエラーは、単一の INSERT ステートメントを使用して複数の行を挿入することに対する MySQL の制約により発生します。

この問題を解決するには、次の手法を使用します。

挿入する静的行データを結合します。サブクエリ。たとえば、サブクエリによって返される各行の「names」という名前の列に「Henry」という名前を挿入する場合は、クエリを次のように変更します。

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

この変更されたクエリでは、静的値「Henry」はサブクエリと結合されます。その結果、サブクエリによって返される各行の「names」列には値「Henry」が設定されます。

以上がMySQL のテーブルにサブクエリから複数の行を挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。