我有这个奇怪的问题,每次在其中插入一行时,Azure MySQL database
增加10而不是1。
因此,该数据库中每个表的主键都是这样的 - 1,11,21,31,41,51,61,71,81,91,101
,依此类推......它应该是1,2,3,4,5,6,...
等。
我认为这是一个特定于数据库的问题,因为我在localhost和Azure DB上运行相同的代码。此问题仅在Azure DB上。所以我发现问题在于使用这个10增量的清除DB,如下所述:
http://www.cleardb.com/developers/help/faq#general_16
所以现在基本上我想要的是让网址看起来很好,网址中的产品ID增加1.其他人如何解决这个问题?
是否通过在URL中查询产品编号的末尾添加1并查询数据库或创建名为product id的新列?
答案 0 :(得分:0)
您可以使用以下方法将自动增量步骤更改回1:
SET @@auto_increment_increment=1;
我不会这样做 - 如果您使用复制,它可能会搞砸您的Azure / ClearDB安装。
通常,您不应该确定如何分配主键。即使使用auto_increment_increment=1
,也没有100%保证密钥的分配没有任何间隙 - 间隙的典型原因是中止事务。