2016-04-28 18 views
0

我在Google上输入时没有搜索到任何东西。在XAMPP服务器,如果我作出ID表(也正是在INT),例如,用户创建的帐户和它的ID。然后,用户A删除它的帐户,所以它的ID(12)也被删除。现在我的问题是,如果另一个用户创建一个帐户,将成为IDUSER或者它会自动循环,去ID 13身份证是不可替代的吗?

+0

如果它是一个MySQL表,并且它的'AUTO-INCREMENT'设置为'true',那么它将永远不会输入相同的数字两次,无论表中当前有什么。你可以重置它,但需要在MySQL的这个表上运行特定的命令, – Martin

+0

非常感谢你 – japjap

+1

@Martin的评论并不完全正确。让我们来重述它。在任何时候,不会有两行具有相同的编号。但是,如果删除#12并且它是最高的ID,那么重新启动MySQL,#12 _may_可以被重用。 –

回答

1

这取决于您的数据库结构。

通常,最好的办法是对您的ID列使用自动增量主键。这样,MySQL自动分配下一个值。它总是增加,永远不会填写缺失值 - 因为这可能会破坏表格的完整性。

说你的用户与论坛帖子相关联,并且用户一个删除自己的帐户,从而消除其入境从用户表,但不是论坛帖子本身,这仍然引用用户ID 12.如果你是为了强制重新使用旧值,新用户将与之前用户的帖子相关联。

如果他们尝试将自动增量列用于其他目的(排序顺序或应用程序中的循环中的计数),会造成一些人的困难,但这通常是对该列的滥用,通常意味着他们'重新做错了(并且应该添加另一列或使用不同的计数方法)。

1 - 请注意,我不会真的用这种方式构建我的论坛软件,但它是一个体面的例子。

+0

非常感谢 – japjap

+0

如果删除用户#12,最好删除引用#12的其他表中的所有行。 –

相关问题