[問題] 序號連貫的邏輯問題

作者: don750421 (1+1≠2)   2014-07-06 22:47:38
請問一下,我將資料存入DB時,有個欄位會依地區存放序號,且序號建立連續
例如:
地區 序號 姓名
KH 01 王曉明
TPI 01 林依沉
KH 02 劉德滑
KH 03 灣灣
CHA 01 張學有
KH 04 劉承錄
假設,某A使用者將 "KH 03 灣灣" 刪除,
那麼,下次我再建立KH時,我要如何得知 03這個序號是可以被建立的?
還是,我只能用迴圈一個一個try?不曉得有啥比較好的方式。
謝謝
作者: jimmy701010 (jimmy701010)   2014-07-06 23:42:00
select max數字欄位 where kh
作者: don750421 (1+1≠2)   2014-07-06 23:52:00
但是 select max 會抓到04..
作者: kattte (誠實面對自己吧!)   2014-07-07 00:15:00
你把中間砍了 那後面的序號要不要往前遞補?
作者: uranusjr (←這人是超級笨蛋)   2014-07-07 01:00:00
是可以直接在 SQL 做到, 不過效率不會太好有什麼非讓序號連續不可的理由嗎?一般而言根本沒差才是
作者: CrazyAngel (無口系天然呆)   2014-07-07 01:39:00
用trigger建表記錄刪除的id,每次建id都從這select看看
作者: johnpage (johnpage)   2014-07-07 05:42:00
序號由另ㄧ表控制
作者: GoalBased (Artificail Intelligence)   2014-07-07 10:50:00
要不要轉database版
作者: allenstyle (allen)   2014-07-07 23:15:00
問題點在於說明取號規則為何,這樣就知道該如何設計。
作者: johnpage (johnpage)   2014-07-09 05:48:00
序號是資料庫給的,不用寫程式
作者: Abbee (阿比)   2014-07-10 15:53:00
樓上你說的不適用本例子耶,他要依地區給我也認為到底有什麼理由要讓你大費周張把被刪的序號再拿回來用?
作者: tomex (Tomex Ou)   2014-07-28 02:02:00
刪除的id另表記錄是簡單正解,效能最高

Links booklink

Contact Us: admin [ a t ] ucptt.com