我的问题是:我有一个包含auto_increment列的表。当我插入一些值时,一切都是正确的。插入第一行: ID 1插入第二行: ID 2
现在我想在ID为10的位置插入一行。
我的问题是,在此之后,只有在ID 10之后插入的行(这是正常行为)。
但我想让数据库先填满ID3-9,然后再做这个。
有什么建议吗?
编辑:
为了澄清:这是一个网址缩短,我想为自己建立。我将id转换成一个单词(a-zA-z0-9)进行搜索,为了保存在数据库中,我将它转换成一个数字,即表的ID。
现在的问题是:我缩短了第一个链接(没有名称)的-> ID为1,自动将名称1转换为a-zA-Z0-9,这是一个
接下来,同样的事情发生了,-> ID是2,名称是b,它是2转换的。
接下来有趣的是,有人想要将链接命名为test -> ID is 4597691,这是转换后的test
现在,如果有人添加了另一个没有名称的链接,则-> ID为4597692 which将为tesu,因为数字已转换。
我希望新的行会自动插入到最后一个间隙(这里是3)
发布于 2011-06-05 18:18:10
您可以使用另一个整型列来存储URL ID。
然后,您的流程可能如下所示:
诸若此类。在查找整数ID时,您将使用URL ID列,而不是表自动增量列。
如果我遗漏了什么,请告诉我。
发布于 2011-06-05 16:26:31
您可以执行6次虚拟插入,并在以后需要时删除/更新它们。自动递增的概念旨在限制应用程序或用户对数字的控制,以确保输入到表中的每条记录的值都是唯一的。
发布于 2011-06-05 16:26:46
ALTER TABLE MY_TABLE AUTO_INCREMENT = 3;https://stackoverflow.com/questions/6241753
复制相似问题