Mysql 设置auto_increment_increment=1对现有表的影响

Mysql 设置auto_increment_increment=1对现有表的影响,mysql,database,auto-increment,Mysql,Database,Auto Increment,我创建了一个新的MySql表,并看到auto increment字段以值3开始,然后递增2。我做了一个显示变量,比如“auto_inc%”并获取这个- auto_increment_increment 2 auto_increment_offset 2 我做了一些研究,发现我需要使用- SET @@auto_increment_increment=1; and SET @@auto_increment_offset=1; 但我的问题是,将这两个值都设置为1会影响在具有自动递增字段的其他表上

我创建了一个新的MySql表,并看到auto increment字段以值3开始,然后递增2。我做了一个
显示变量,比如“auto_inc%”并获取这个-

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

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

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

自动增量和自动增量偏移的影响不针对每个表,它适用于插入的所有表

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

要使更改成为全局更改,您需要使用
SET global
。但下次MySQL服务器重新启动时,更改将被撤消

要使更改全局且持久,请编辑
my.cnf
文件,以便在每次MySQL服务器启动时设置该变量,或者在MySQL 8.0中,他们添加了一项功能,以便您现在可以使用
set PERSIST
更改全局变量,并在重新启动后保留该设置

您可以阅读更多关于此的信息:


注意到的要点。谢谢