多くの場合、特定の条件が満たされた場合にのみテーブルにデータを挿入する必要があります。ストアド プロシージャはこれを実現する 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 サイトの他の関連記事を参照してください。