如何根據特定條件有條件地將資料插入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 語句

通常,只有在滿足某些條件時,您可能才需要將資料插入表中。雖然預存程序提供了實現此目的的方法,但讓我們探討如何直接在 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板