2016-04-28 82 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的其他表中的所有行。 –

相關問題