一个MySQL表中的两个自动递增字段

问题描述 投票:0回答:1

我正在建立一个需要两个自动递增字段'id'和'member#'的表。

我将在后者上将AUTO_INCREMENT = 1001用于新数据,因为有旧数据的成员号小于1000。

我将在'id'字段上使用'MAX(id)+1'以使其自动递增。

但是我不确定是否只要有INSERT,甚至在哪里放置那段代码,都可以完成这项工作。我在这里要做的只是自动增加字段,而不选择任何内容。

出于好奇,为什么每个表只有一个AUTO_INCREMENTing字段?

当然,对AUTO_INCREMENT_2,AUTO_INCREMENT_3等进行编码并不难。

感谢所有答案和帮助。

mysql auto-increment
1个回答
0
投票

每个InnoDB表最多具有一个用于其自动增量的计数器。这是实现的一部分。如果可以定义N个自动增量列,它将在哪里存储N个计数器?

至于为什么每个表只能有一个表,当然,他们可以实现它以支持多个表,但是为什么呢?

他们试图解决大多数案件的需求。在具有自动递增功能的表的几乎每种情况下,每个表一个就足够了。

[在几乎每种情况下,像您这样的人认为他们每张桌子需要多个桌子,明智的做法是退后一步,重新考虑设计。

© www.soinside.com 2019 - 2024. All rights reserved.