【问题标题】:AUTOINCREMENT only if certain attribute contains the same valueAUTOINCREMENT 仅当某个属性包含相同的值时
【发布时间】:2017-03-16 19:15:06
【问题描述】:

我有以下规格:

“客户每购买 10 件商品,即可获得一件免费商品”

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

然后在每次给定客户下订单时使用 UPDATE 更新此属性。

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

上面写着

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

我首先想到的是 AUTO_INCREMENT。但是这个属性不是主键,AUTO_INCREMENT 会增加数字,即使订单是被其他客户请求的。

并且我不允许使用任何其他 SQL 语句,例如 FUNCTIONS PROCEDURES 或其他编程 MySQL 特定命令。

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

非常感谢。

【问题讨论】:

    标签: mysql database


    【解决方案1】:

    在重复键更新时使用插入 ..

    INSERT INTO table (id, name, order_number) VALUES(1, "A", 11) ON DUPLICATE KEY
    UPDATE name="A", order_number=11
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多