特定の条件に基づいて MySQL テーブルに条件付きでデータを挿入するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-12 18:27:02
オリジナル
842 人が閲覧しました

How can I conditionally insert data into a MySQL table based on specific conditions?

SELECT を使用した MySQL 条件付き INSERT ステートメント

多くの場合、特定の条件が満たされた場合にのみテーブルにデータを挿入する必要があります。ストアド プロシージャはこれを実現する 1 つの方法ですが、SQL クエリで条件付き挿入を直接実行する方法を見てみましょう。

条件付きでデータを挿入するには、次の構文を利用できます:

INSERT INTO TABLE
SELECT value_for_column1, value_for_column2, ...
FROM wherever
WHERE your_special_condition
ログイン後にコピー

条件が満たされないために WHERE 句のサブクエリが行を返さない場合、挿入は行われません

例:

次のテーブルについて考えてみましょう:

CREATE TABLE products (id INT PRIMARY KEY AUTO_INCREMENT, qty_on_hand INT);
CREATE TABLE orders (id INT PRIMARY KEY AUTO_INCREMENT, product_id INT, qty INT);
ログイン後にコピー

20 個のブードゥー人形 (製品 ID 2) を注文するには、手元に十分な在庫があるかどうかを確認し、条件付きで注文を挿入できます。

INSERT INTO orders (product_id, qty)
SELECT 2, 20
WHERE (SELECT qty_on_hand FROM products WHERE id = 2) > 20;
ログイン後にコピー

手持ちの数量が十分な場合は、注文行が作成されます。そうしないと、挿入は行われません。このメソッドは、在庫の可用性を確認し、単一のトランザクションで挿入を実行することで、同時実行の問題を軽減するのに役立ちます。

以上が特定の条件に基づいて MySQL テーブルに条件付きでデータを挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート