自动修复丢失的ID

时间:2017-03-26 12:58:09

标签: php mysql sql

我需要对我几个月来遇到的问题进行延长修复。 问题是,每当我从数据库中删除一行数据时,ID都会搞砸。甚至自动增量系统也搞砸了。解决这个问题的任何方法?

这就是我的意思: The problem

谢谢, CrAzYz _

1 个答案:

答案 0 :(得分:1)

评论太长了(尽管我确实尝试过)。

当一行插入数据库时​​,它应该有一个主键。这样,您就可以唯一地标识该行(例如updatedelete)。并且,您可以明确地引用它(使用join或外键引用)。这是拥有主键的关键目的。

在MySQL中,通常使用auto_increment分配此主键。这是一个在插入行时分配给行的序号。

删除行时,主键不会更改。这非常重要。其他行可以引用它们。有人可能已经写下了行的id,并且可能希望它在下次看起来时在数据库中。

换句话说,您正在寻找不合适的功能。我的建议是"克服它"。自动递增的id正在完全它应该做的事情。没有理由改变它,所以没有空隙。