最佳答案
愚蠢但简单的例子: 假设我有一个表“ Item”,其中保存了收到的项目的总数。
Item_Name Items_In_Stock
项目名称是这里的主键。如何实现以下目标时,我每次收到物品 A 的数量 X。
如果该商品不存在,我将插入一个新的记录的商品 A,并将库存商品设置为 X,如果存在一个记录,其中库存商品为 Y,则库存商品的新值为(X + Y)
INSERT INTO `item`
(`item_name`, items_in_stock)
VALUES( 'A', 27)
ON DUPLICATE KEY UPDATE
`new_items_count` = 27 + (SELECT items_in_stock where item_name = 'A' )
我的问题是在实际的表中有多个列。在更新部分中编写多个 select 语句是一个好主意吗?
当然我可以用代码来做,但是有没有更好的方法呢?