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

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

【问题讨论】:

    标签: mysql integer auto-increment


    【解决方案1】:

    auto_incrementis 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 依此类推
      猜你喜欢
      • 2021-01-15
      • 2020-11-01
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多