为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL自动增量列跳了10-为什么?

MySQL自动增量列跳了10-为什么?

缥缈止盈 2019-11-28 14:15:20
我有几个表,在其中我创建了一个对象ID为Int或Bigint,在这两种情况下,它们似乎都会自动递增10(即,第一个插入是对象ID 1,第二个是对象ID 11,第三个是对象ID)是对象ID 21等)。两个问题:为什么这样做呢?那是问题吗?
查看完整描述

3 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

检查自动增量的种子值未设置为10。


您可以通过以下方式检查:


SELECT Auto_increment FROM information_schema.tables WHERE table_name='the_table_you_want';

如其他地方所述,您可以使用系统变量@@ set_auto_increment_increment进行更改


SET @@auto_increment_increment=1;

如果要以一个以外的数字开头这些值,可以执行以下操作:


ALTER TABLE tbl AUTO_INCREMENT = 100;


查看完整回答
反对 回复 2019-11-28
?
万千封印

TA贡献1891条经验 获得超3个赞

请不要更改auto_increment_increment。ClearDB是故意这样做的。在文档中对此进行了解释:


ClearDB使用循环复制来提供Master-Master MySQL支持。因此,必须配置诸如auto_increment键(或序列)之类的某些东西,以便在所有情况下一个主机不使用与另一个主机相同的键。为此,我们将MySQL配置为跳过某些键,并强制MySQL对每个使用的键使用特定的偏移量。之所以使用10而不是2,是为了将来的发展。


查看完整回答
反对 回复 2019-11-28
  • 3 回答
  • 0 关注
  • 579 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信