0

我有这个奇怪的问题,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 增量的 clear DB 上,如下所述:

http://www.cleardb.com/developers/help/faq#general_16

所以现在基本上我想要的是使 url 看起来不错,URL 中的产品 id 递增 1。其他人是如何解决这个问题的?

是通过在您从 URL 获得的产品编号的末尾添加 1 并查询数据库,还是通过创建一个名为产品 ID 的新列?

4

1 回答 1

0

您可以使用以下方法将自动增量步长更改回 1:

SET @@auto_increment_increment=1;

但是我不会这样做 - 如果您使用复制,它可能会搞砸您的 Azure/ClearDB 安装。

一般来说,您不应该固定主键的确切分配方式。即使auto_increment_increment=1没有 100% 保证密钥的分配不会有任何间隙 - 间隙的典型原因是事务中止。

于 2013-07-09T07:09:07.140 回答