我在ClearDB中有一个简单的表:
strchr
我使用Node通过以下方式将数据插入表中:
CREATE TABLE `users` (
`id` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(100) DEFAULT NULL,
`message` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
然而,每当我插入我的id字段时,增加10而不是1(并且它从12开始:
id用户名消息
12测试测试
22测试测试
32测试
42测试测试
知道为什么会这样吗?
谢谢!
答案 0 :(得分:5)
这是ClearDB的策略。 Here is the explanation from ClearDB's website.
使用ClearDB时,无法更改此auto_increment步骤。
这是上述链接的解释。
ClearDB使用循环复制来提供master-master MySQL 支持。因此,某些事情,如auto_increment键(或 必须配置序列,以便一个主人不使用 在所有情况下,与另一个相同的密钥。我们通过配置MySQL来实现这一点 跳过某些键,并强制MySQL使用特定的偏移量 对于每个使用的密钥。我们使用10而不是2的原因是 为了未来的发展。
答案 1 :(得分:0)
这似乎是因为AUTO_INCREMENT字段
删除AUTO_INCREMENT=11
答案 2 :(得分:0)
我有同样的问题。经过一番挖掘后,我发现可以更改auto_increment
首先检查它是什么值
SELECT @@auto_increment_increment
然后更改
SET @@auto_increment_increment=1;