仅当某个属性包含相同的值时,才应使用AUTOINCREMENT

时间:2017-03-16 05:57:53

标签: mysql database

我有以下规范:

  

“客户为他们购买的每10件物品获得一件免费物品”

我会在客户表中创建“Order_number”属性,用于跟踪每个客户购买的商品数量。

然后,每当给定客户下订单时,都会使用UPDATE更新此属性。

但是有一个问题,这是我的大学项目,这部分属于insert.sql问题,我们需要提交的文件。所以我不允许使用任何其他命令。

它说

  

•确保所有项目计数在数据库中是最新的。

我想到的第一件事是AUTO_INCREMENT。但是,此属性不是主键,即使其他客户请求订单,AUTO_INCREMENT也会增加数量。

我不允许使用任何其他SQL语句,例如FUNCTIONS PROCEDURESs或其他程序化的MySQL特定命令。

那我该怎么做?我真的不明白为什么我需要单独使用INSERT INTO来实现这个功能。

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

在重复密钥更新

上使用insert ..
INSERT INTO table (id, name, order_number) VALUES(1, "A", 11) ON DUPLICATE KEY
UPDATE name="A", order_number=11