サブクエリからテーブルへの複数の行の挿入
複数の行を返すサブクエリを使用してテーブルに複数の行を挿入しようとすると、エラー 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 サイトの他の関連記事を参照してください。