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(整数)的限制是多少的主要内容,如果未能解决你的问题,请参考以下文章