ホームページ >データベース >mysql チュートリアル >サブクエリを使用して複数の値をテーブルに正しく挿入するにはどうすればよいですか?

サブクエリを使用して複数の値をテーブルに正しく挿入するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-05 20:11:44376ブラウズ

How to Correctly Insert Multiple Values into a Table Using a Subquery?

サブクエリを使用したテーブルへの値の挿入

複数の結果を持つサブクエリを使用してテーブルに値を挿入するのは難しい場合があります。商品と価格という 2 つのテーブルがあり、商品から取得した特定の ID に基づいて価格にエントリを挿入したいというシナリオを考えてみましょう。

SQL エラーにつながることが多い一般的なアプローチは、 VALUES 句のサブクエリ:

INSERT INTO prices (group, id, price) 
VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);

サブクエリは複数の結果を返すため、このクエリはエラーになります。

正しいアプローチは、INSERT クエリで select ステートメントを使用し、定数フィールドをハードコーディングすることです。

insert into prices (group, id, price)
select 
    7, articleId, 1.50
from article where name like 'ABC%';

定数フィールドをサブクエリから分離することで、クエリの結果ごとに 1 行のみが挿入されるようにすることができます。サブクエリ。

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

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