我有以下规范:
“客户为他们购买的每10件物品获得一件免费物品”
我会在客户表中创建“Order_number”属性,用于跟踪每个客户购买的商品数量。
然后,每当给定客户下订单时,都会使用UPDATE更新此属性。
但是有一个问题,这是我的大学项目,这部分属于insert.sql问题,我们需要提交的文件。所以我不允许使用任何其他命令。
它说
•确保所有项目计数在数据库中是最新的。
我想到的第一件事是AUTO_INCREMENT。但是,此属性不是主键,即使其他客户请求订单,AUTO_INCREMENT也会增加数量。
我不允许使用任何其他SQL语句,例如FUNCTIONS PROCEDURESs或其他程序化的MySQL特定命令。
那我该怎么做?我真的不明白为什么我需要单独使用INSERT INTO来实现这个功能。
非常感谢提前。
答案 0 :(得分:0)
在重复密钥更新
上使用insert ..INSERT INTO table (id, name, order_number) VALUES(1, "A", 11) ON DUPLICATE KEY
UPDATE name="A", order_number=11