SQL中无法用-=更新库存,如何通过变量减法实现更新?
解决SQL库存更新的问题
你的SQL语句有几个问题需要修正,直接调整成下面的写法就能实现库存扣减:
sqlstring = """ UPDATE tblInventory SET quantityInStock = quantityInStock - ? WHERE itemID = ? """ values = (p_quantity, p_id) runsql(sqlstring, values)
关键修正点:
- SQL里没有
-=这种简化赋值运算符,必须显式写成字段名 = 字段名 - 数值的形式,数据库会自动用当前库存值减去传入的购买数量 - 去掉了多余的
VALUES (?,?),UPDATE语句不需要这个子句,VALUES是INSERT语句用来插入数据的 - SQL中判断相等用单等号
=,而不是双等号==(那是Python等编程语言的写法)
这样执行后,指定itemID的商品库存就会减去用户购买的数量了。
内容的提问来源于stack exchange,提问作者bitmap
相关产品推荐
相关产品推荐

