主題: 關於多使用者PLOG所產生的UID 作者: bibicall 於 三月 30, 2005, 12:44:30 下午 我在我的plog(0.32版)裡刪掉一個使用者
再重新新增一個使用者 結果UID變成不連續 假設我第一次新增的使用者的UID是10 刪掉之後重新新增UID卻是11 是因為資料庫的關係嗎? 我在資料庫裡也把USER 10的相關資料欄位都刪除了 可是新增後還是不連續? why?:-S 主題: Re: 關於多使用者PLOG所產生的UID 作者: darkhero 於 三月 30, 2005, 01:27:58 下午 引用自: bibicall 我在我的plog(0.32版)裡刪掉一個使用者 再重新新增一個使用者 結果UID變成不連續 假設我第一次新增的使用者的UID是10 刪掉之後重新新增UID卻是11 是因為資料庫的關係嗎? 我在資料庫裡也把USER 10的相關資料欄位都刪除了 可是新增後還是不連續? why?:-S 沒錯...正是資料庫的原因... 資料庫的 auto_increment 欄位會紀錄下一個 auto_increment 的 id 值. 而該值並不會因為你砍掉當時最大的 uid 值改變. 除非你將整個資料表重建 也就是全部清空,該值才會同時重設... 這樣做也是比較好的... 試想: 要是你砍掉一個人.而那個人已經建立的 blog , 寫過文章寫過資料... 而後來的人用了他的 uid , 那系統要如何判斷那篇文章以及哪個 blog 是屬於哪個 uid user的?... 難道讓後來新增的看到或沿用原來 uid 的資料是對於原使用者比較好嗎?.... 當然.通常系統在刪除使用者的時候會同步刪掉所有的使用者資料跟文章.. 如果你是想知道使用者人數... 也不是看 uid 值來判斷 , 而是應該 select count(uid) from user 這類的方式. 主題: 關於多使用者PLOG所產生的UID 作者: markwu 於 四月 01, 2005, 01:26:35 下午 bibicall:
Darkhero 講得很清楚了,就是這樣沒錯。一般的資料庫設計都不會刪除資料後,重新整理(命名) id 的,這很容易出錯喔! Mark 主題: 關於多使用者PLOG所產生的UID 作者: TomexOu 於 四月 01, 2005, 11:41:30 下午 auto increatment欄位雖好,但跳了一號就會覺得怪怪的
我了解原po的心境。 這種identity欄位變動並不方便,尤其轉移匯出數據時很危險 要一直受其制約。 當然,它在程式寫作及效能上(index)很有用 因為我db實務上,會有 serial_id及 table_id 前者給程式看的,後者給人看的。 主題: 關於多使用者PLOG所產生的UID 作者: markwu 於 四月 02, 2005, 11:52:51 下午 其實以 blog 的 DB 設計還算簡單!在ERP或財物系統中,資料是絕不可能刪除的啦,只能 把 delete flag 設為 "on" 或是用 roll back (undo) 的方式來做刪除,否則資料會大亂。
Mark |