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

Patricia Arquette
リリース: 2024-11-02 15:08:29
オリジナル
144 人が閲覧しました

How to Insert Multiple Rows from a Subquery into a MySQL Table When the Subquery Returns More Than One Row?

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

サブクエリから MySQL テーブルに複数の行を挿入するには、次のことを確認することが重要ですサブクエリが 1 つの行のみを返すことを確認します。提供されたコード スニペットでは、挿入クエリ:

INSERT INTO Results (People, names)
VALUES
(
 (SELECT d.id FROM Names f JOIN People d ON d.id = f.id),
 ("Henry"),
);
ログイン後にコピー

は、People 列と names 列に 2 つの値を挿入しようとします。ただし、最初のかっこ内のサブクエリは d.id に対して複数の行を返します。これにより、「サブクエリは複数の行を返します。」というエラーが発生します。

静的文字列を結合したソリューション

結果を保持しながら静的文字列 "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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!