【问题标题】:How can i get the seed value of an identity column in MySql如何获取 MySql 中标识列的种子值
【发布时间】:2010-06-09 22:58:47
【问题描述】:

要获取 sql server 中标识列的种子和步骤值,我可以使用此语法

SELECT ColumnName = name, Seed = seed_value, Step = increment_value 
  FROM sys.identity_columns

到目前为止,在 MySql 中我发现如果我使用这种语法

SELECT * FROM INFORMATION_SCHEMA.TABLES
 WHERE auto_increment IS NOT NULL

我至少可以找出哪些列是一个身份...

问题是如何从 MySQL Schema 中获取标识列的 SEED 和 STEP 值。

【问题讨论】:

    标签: mysql tsql identity seed


    【解决方案1】:

    您可以使用以下方法获取系统范围的设置:

    SHOW VARIABLES LIKE 'auto_inc%';
    

    结果:

    | Variable_name            | Value 
    +--------------------------+-------
    | auto_increment_increment | 1     
    | auto_increment_offset    | 1  
    

    参考:

    您可以在此之外控制的唯一 AUTO_INCREMENT 属性是起始值,using an ALTER TABLE statement

    ALTER TABLE tbl AUTO_INCREMENT = 100;
    

    【讨论】:

    • 因此,我从 information_Schema.tables 上收集的 auto_increment 列实际上是种子值,除非更改为特殊类型的增量,否则“步长”或“偏移”只能是 ++ 或 1。
    • @mmcdonald:默认值是增量和偏移量是 1 - 您可以更改它们,但它是实例范围的,而不是每个表或数据库。
    猜你喜欢
    • 1970-01-01
    • 2022-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 2016-10-18
    • 2022-01-08
    • 1970-01-01
    相关资源
    最近更新 更多