我创建了一个新的MySql表,并看到自动增量字段以值3开头,然后递增2。
auto_increment_increment 2
auto_increment_offset 2
我做了一些研究发现我需要用-
SET @@auto_increment_increment=1; and
SET @@auto_increment_offset=1;
但我的问题是,将这两个值都设置为1会影响如何将行插入到具有自动增量字段的其他表中吗?插入到这些表上的新行现在会以自动增量id 1开始吗?还是这只会影响未来的新表格?
发布于 2019-11-13 18:50:09
auto_increment_increment
和auto_increment_offset
的效果不是每个表,它适用于插入到的所有表。
如果在自己的会话中使用SET
,则仅在会话中更改变量。其他会话中的行为不会改变。此外,如果断开和重新连接,则会话设置将重置为全局设置。
要使更改是全局的,您需要使用SET GLOBAL
。但是,下次MySQL服务器重新启动时,更改将被撤消。
要使更改具有全局性和持久性,可以编辑my.cnf
文件,以便在每次MySQL服务器启动时设置变量,或者在MySQL 8.0中添加一个特性,以便您现在可以使用SET PERSIST
来更改全局变量,并且在重新启动后它将保留该设置。
您可以阅读更多有关这方面的内容:
https://stackoverflow.com/questions/58843617
复制相似问题