自动更新MySql行编号

时间:2017-07-25 17:16:21

标签: mysql

我在MySql中创建了一个带有列" id" as auto_increment和Primary_key。我最初做了3行,即1,2,3。我删了不。 2行,但编号仍为1,3。如何将其更改为1,2 MySql Table

1 个答案:

答案 0 :(得分:2)

简短的回答是:你没有。更改此问题是一个多步骤问题,如果您不正确,可能会非常容易出错。坦率地说,这样做很少(如果有的话)。

这项任务涉及的事情:

  1. 删除您不想要的行(您已经这样做了)

  2. id id的{​​{1}}减去1,即>=到您刚刚删除的行。

  3. 将自动增量计数器更新为比当前值小1。

  4. 对于这是外键的所有表执行相同的操作。

  5. 如果要删除多行,逻辑会很快变得复杂得多。无论哪种方式,它将需要相当多的资源,并将对您的外键造成严重破坏。

    这样的行为实际上违背了人们通常如何使用数据库的原则。 RDMS不是像excel电子表格那样的平面文件。只需删除行并让自动递增的ID有一个间隙,它对您的应用程序没有任何影响。