サブクエリから 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 サイトの他の関連記事を参照してください。