MySQL でのサブクエリを使用した複数の行の挿入
サブクエリによって返された複数の行をテーブルに設定するソリューションを探しています。提供したサンプル クエリは、ネストされた VALUES 句を使用してこれを実現しようとしていますが、サブクエリが複数の行を返すため、エラーが発生します。
エラーの解決
この問題を解決するには、VALUES 句内でサブクエリをネストしないようにする必要があります。代わりに、次の方法を使用してサブクエリを名前の静的な値と結合します。
INSERT INTO Results (People, names) SELECT d.id, 'Henry' FROM Names f JOIN People d ON d.id = f.id
このクエリは、サブクエリの ID と名前列の静的文字列 'Henry' を組み合わせた複数の行を返します。 .
説明
サブクエリと静的クエリを組み合わせることでSELECT 句の値を使用すると、サブクエリによって返された行ごとに 1 つの行を事実上作成することになります。これにより、INSERT ステートメントでこれらの行を結果テーブルに正常に追加できるようになります。
以上がMySQL でサブクエリを使用してテーブルに複数の行を挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。