【问题标题】:Setting auto_increment_increment = 1 effect on existing tables设置 auto_increment_increment = 1 对现有表的影响
【发布时间】:2020-03-09 15:14:15
【问题描述】:

我创建了一个新的 MySql 表,并看到自动增量字段以 3 开头并以 2 为增量。我执行SHOW VARIABLES LIKE 'auto_inc%'; 并得到了这个-

auto_increment_increment 2
auto_increment_offset 2

我做了一些研究,发现我需要使用-

SET @@auto_increment_increment=1;  and
SET @@auto_increment_offset=1;

但我的问题是,将这两个值都设置为 1 会影响如何在具有自动增量字段的其他表中插入行吗?这些表上插入的新行现在会以自动增量 id 1 开头吗?或者这只会影响未来的新表?

【问题讨论】:

    标签: mysql database auto-increment


    【解决方案1】:

    auto_increment_incrementauto_increment_offset 的效果不是针对每个表的,它适用于您插入的所有表。

    如果您在自己的会话中使用SET,则该变量将仅在您的会话中更改。其他会话中的行为不会改变。此外,如果您断开连接并重新连接,您的会话设置将重置为全局设置。

    要使更改全局化,您需要使用SET GLOBAL。但下次 MySQL Server 重启时更改将被撤消。

    要使更改全局持久化,请编辑my.cnf 文件,以便在每次 MySQL 服务器启动时设置变量,或者在 MySQL 8.0 中他们添加了一项功能,以便您现在可以使用SET PERSIST 这样你就可以更改全局变量,重启后它会保留设置。

    您可以阅读更多相关信息:

    【讨论】:

    • 注意点。谢谢。
    猜你喜欢
    • 2013-11-16
    • 2013-01-16
    • 2019-11-25
    • 2012-08-12
    • 1970-01-01
    • 2010-11-17
    • 2019-05-21
    • 1970-01-01
    • 2021-07-11
    相关资源
    最近更新 更多