我在MySql中创建了一个带有列" id" as auto_increment和Primary_key。我最初做了3行,即1,2,3。我删了不。 2行,但编号仍为1,3。如何将其更改为1,2 MySql Table
答案 0 :(得分:2)
简短的回答是:你没有。更改此问题是一个多步骤问题,如果您不正确,可能会非常容易出错。坦率地说,这样做很少(如果有的话)。
这项任务涉及的事情:
删除您不想要的行(您已经这样做了)
从id
id
的{{1}}减去1,即>=
到您刚刚删除的行。
将自动增量计数器更新为比当前值小1。
对于这是外键的所有表执行相同的操作。
如果要删除多行,逻辑会很快变得复杂得多。无论哪种方式,它将需要相当多的资源,并将对您的外键造成严重破坏。
这样的行为实际上违背了人们通常如何使用数据库的原则。 RDMS不是像excel电子表格那样的平面文件。只需删除行并让自动递增的ID有一个间隙,它对您的应用程序没有任何影响。