【问题标题】:mySQL column that is auto incremented every for every duplicate?每次重复都会自动递增的 mySQL 列?
【发布时间】:2014-06-06 21:11:14
【问题描述】:

假设我有一个具有以下特征的对象表:

- name - count

名称是主键。

样本数据:

Shoes - 1
Pants - 1

是否可以在每次将具有相同主键的对象添加到表时增加对象的计数?

例如,如果我要添加一个名为 Shoe 的对象,表格将显示:

 Shoes - 2
 Pants - 1

【问题讨论】:

  • 如果您想以这种格式显示数据,只需查找计数和按查询分组即可完成工作,而不是查找复杂的过程或触发器
  • “相同”的主键?诶?如果相同,则不是主要的。

标签: mysql primary-key auto-increment


【解决方案1】:

您可以使用INSERT ... ON DUPLICATE KEY UPDATE,如果您尝试插入的名称已经存在,它会执行更新而不是插入:

INSERT INTO tablename (name,count) VALUES ('Shoes',1)
  ON DUPLICATE KEY UPDATE count=count+1;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-24
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 2014-10-01
    • 2011-08-20
    相关资源
    最近更新 更多