我最近读到,由于 InnoDBAUTO_INCREMENT
在服务器重新启动时如何重新计算值,ID 列表高端的任何记录都可能被重用其 ID。
通常,这不是问题,因为当删除用户时,与该 ID 关联的所有内容也会从其他表中删除。
但我故意让他们的论坛帖子成为孤立的,标记为“由=User #123=发布”,以便保留过去的对话。显然,如果一个 ID 被重用,这将是一个问题。
我以前从未遇到过这个问题,因为总是有足够多的新用户使 ID 不太可能以这种方式被重用。然而,在我的新项目中,注册很少见,并且经常删除非活动用户(特别是因为“Open Alpha”帐户仅持续三天作为预览),并且这种 ID 重用现在已经发生了三对三。
我通过为AUTO_INCREMENT
其他地方保存正确的值并使用它而不是依赖内部值来“解决”这个问题。有没有一种实际的方法让 InnoDB 记住实际的最后一个值?