MYSQL 自动增量按字段分类

Posted

技术标签:

【中文标题】MYSQL 自动增量按字段分类【英文标题】:MYSQL Auto increment categorized by field 【发布时间】:2012-07-22 10:22:09 【问题描述】:

我是否可以在 mysql 中设置自动增量值,通过字段 id 对自身进行分组来增加自身?比如

Shop_id | AI_Value
-------------------
1       | 1
1       | 2
2       | 1
3       | 1
1       | 3

目前,我正在运行查询以获取最后一行,然后通过向值添加 +1 来插入,我认为这是非常低效的,并且会有潜在的缺陷,例如重复值

【问题讨论】:

为什么要这样做?另外,为什么要标记sql-server? 【参考方案1】:

您可以使用仅用于存储一个累进数字的实用程序表。当您检索下一个累进号码时,您必须锁定表格,获取号码,添加 +1 并存储它。

【讨论】:

【参考方案2】:

MyISAM 表支持just that。您可以将AUTO_INCREMENT 放在索引的第二列上,并且它只会随着对第一列的更改而增加。

唉,这意味着您将不得不使用MyISAM,这本身就是一个缺点......

【讨论】:

以上是关于MYSQL 自动增量按字段分类的主要内容,如果未能解决你的问题,请参考以下文章

hibernate - 如何在 mysql 和 oracle 数据库中设置自动增量?

dbwritetable 删除 mysql 中的自动增量字段

SQL 最佳实践 - 可以依靠自动增量字段按时间顺序对行进行排序吗?

Java和mySQL DB中的自动增量ID字段?

PHP MYSQL - 在不使用列名但使用自动增量字段的情况下插入

什么可能导致自动增量主键字段(mysql)上的重复 ID?