如何使用一个查询更新mysql中的多行
问题描述:
您好,我有一个购物车,它有几个项目,我试图更新库存,以便当买家检出时更新库存中的所有项目。从库存中减去所有精装书,平装书和电子书,这取决于购买量..我知道如何使它工作,当我只需要更新一条记录时,问题是如何更新多行... 这是我目前的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
答
终于找到它oout
UPDATE inventory
INNER JOIN cart ON inventory.isbn=cart.isbn
SET inventory.num_hardcover =inventory.num_hardcover-cart.hardcover_purchased,
inventory.num_softcover=inventory.num_softcover-cart.softcover_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 ...谢谢 –