mysql中auto_increment(整数)的限制是多少

Posted

技术标签:

【中文标题】mysql中auto_increment(整数)的限制是多少【英文标题】:What is the limit of auto_increment (integer) in mysql 【发布时间】:2012-07-01 03:24:48 【问题描述】:

我有一个 mysql 数据库,我在其中使用 auto_increment(integer),你能告诉我它可以递增到什么整数。如何增加 auto_increment 的限制?

【问题讨论】:

【参考方案1】:

auto_increment 列 is the size of the column 的限制:

为 AUTO_INCREMENT 列使用足够大的整数数据类型来保存您需要的最大序列值。当列达到数据类型的上限时,下一次生成序列号的尝试失败。例如,如果您使用 TINYINT,则允许的最大序列号为 127。对于 TINYINT UNSIGNED,最大为 255。

limits of the integer types 是:

TINYINT            - 127
UNSIGNED TINYINT   - 255
SMALLINT           - 32767
UNSIGNED SMALLINT  - 65535
MEDIUMINT          - 8388607
UNSIGNED MEDIUMINT - 16777215
INT                - 2147483647
UNSIGNED INT       - 4294967295
BIGINT             - 9223372036854775807
UNSIGNED BIGINT    - 18446744073709551615

【讨论】:

【参考方案2】:

整数可以高达 2147483647。如果未签名,则可以是 4294967295。

See this chart 用于所有整数值。

【讨论】:

我们可以使用“BIGINT (9223372036854775807)”来增加限制吗? 如果您每秒进行 10 亿次增量,那么您在 BIGINT 中就有足够的时间进行 292 年的更新。如果你有一个三节点 galera 集群,这个数字会下降到区区 97 年。 @opentokix 只是出于好奇,您为什么将其划分为集群中的节点数? ? @AldoB 当您使用 galera mariadb 集群时,它将增加节点数。当您执行“inc”时,nodeA 将获得 1 4 nodeB 将获得 2 5 而 nodeB 将获得 3 6 依此类推

以上是关于mysql中auto_increment(整数)的限制是多少的主要内容,如果未能解决你的问题,请参考以下文章

MySQL基础之 AUTO_INCREMENT

MySQL 序列 AUTO_INCREMENT

MySQL 序列使用:使用 AUTO_INCREMENT获取AUTO_INCREMENT值

MYSQL的常用属性

mysql整数类型

23序列使用 auto_increment