我需要对我几个月来遇到的问题进行延长修复。 问题是,每当我从数据库中删除一行数据时,ID都会搞砸。甚至自动增量系统也搞砸了。解决这个问题的任何方法?
这就是我的意思: The problem
谢谢, CrAzYz _
答案 0 :(得分:1)
评论太长了(尽管我确实尝试过)。
当一行插入数据库时,它应该有一个主键。这样,您就可以唯一地标识该行(例如update
或delete
)。并且,您可以明确地引用它(使用join
或外键引用)。这是拥有主键的关键目的。
在MySQL中,通常使用auto_increment
分配此主键。这是一个在插入行时分配给行的序号。
删除行时,主键不会更改。这非常重要。其他行可以引用它们。有人可能已经写下了行的id,并且可能希望它在下次看起来时在数据库中。
换句话说,您正在寻找不合适的功能。我的建议是"克服它"。自动递增的id正在完全它应该做的事情。没有理由改变它,所以没有空隙。