您好,我有一個購物車,它有幾個項目,我試圖更新庫存,以便當買家檢出時更新庫存中的所有項目。從庫存中減去所有精裝書,平裝書和電子書,這取決於購買量..我知道如何使它工作,當我只需要更新一條記錄時,問題是如何更新多行... 這是我目前的SQL。 。如何使用一個查詢更新mysql中的多行
UPDATE inventory INNER JOIN cart ON inventory.isbn = cart.isbn
SET inventory.num_hardcover = inventory.num_hardcover - cart.hardcover_purchased
WHERE inventory.isbn=cart.isbn
類似的問題是:已被問及,在這裏檢查http://stackoverflow.com/questions/20255138/sql-update-multiple-records-in-one-query –
這個查詢工作在所有?我的第一個想法是更新基於子查詢的值,即'更新清單我SET num_hardcover = num_hardcover - (SELECT sum(hardcover_purchased)FROM cart c WHERE c.isbn = i.isbm)'我不在我的數據庫服務器,我可能會稍後再測試。 –
@ Bill Karwin ...謝謝 –