→ LPH66: 除非真的有很必須的連號要求, 不然刪除的缺號就給他缺 03/02 22:44
→ LPH66: 很多時候這個 id 並不具有數值意義而只是一個唯一代號而已 03/02 22:44
→ LPH66: 反正資料庫在存資料時不是根據你的 id 決定怎麼存的 03/02 22:45
→ LPH66: 缺號基本上無關緊要 03/02 22:46
→ Phedra: ID 缺號不影響頁碼,根據頁碼讀取資料是看實作方式。 03/03 02:48
→ Phedra: 通常是根據頁碼換算出 Offset 去取資料 03/03 02:49
→ Phedra: 例如每頁顯示 20 筆資料,要讀取第 3 頁的資料,就會是 03/03 02:51
→ Phedra: offset = 20 * (3 - 1) = 40,從第40筆資料之後取得20筆 03/03 02:53
→ Phedra: SELECT * FROM user LIMIT 20 OFFSET 40 03/03 02:54
→ Phedra: 等同 SELECT * FROM user LIMIT 40, 20 03/03 02:55
→ MOONRAKER: 不會有什麼問題,也不建議你補。 03/03 11:27
→ MOONRAKER: 當然你可以用另外一個表,刪除時把空號加進去,新增時 03/03 11:28
→ MOONRAKER: 讀出一個空號用掉,同時刪掉,看你想不想做。 03/03 11:29
→ MOONRAKER: 如前面所述,有db幫忙,重新編號或頁數是最簡單的事情 03/03 11:30
推 LPH66: 啊, 看到推文回答大概猜到你的盲點在哪了 03/03 21:40
→ LPH66: 基本上還是那個「id 不具有數值意義, 僅是唯一代號」的概念 03/03 21:41
→ LPH66: 不過我少講了一個性質, 這個 id 是「有序的唯一代號」 03/03 21:41
→ LPH66: 列出資訊編頁時並不是照數值去切頁, 而是照順序去切頁 03/03 21:42
→ LPH66: 所依據的就是這個「有序的唯一代號」的順序 03/03 21:42
→ LPH66: 反應在 SQL 指令上就是上面推文提的 limit / offset 03/03 21:43
→ LPH66: 依照某順序排好 (order by) 之後列出第幾名 (limit/offset) 03/03 21:43
→ LPH66: 因為 id 值跟實際存放位置沒有關連, 不連號不影響這些操作 03/03 21:44
→ LPH66: 你可以思考一下: 當進行有條件的查詢時, id 值就不可能當做 03/03 21:47
→ LPH66: 列表編頁的依據了, 能依據的只有列表的第 N 名 03/03 21:48
→ LPH66: 這個「第 N 名」概念正是 limit / offset 所代表的 03/03 21:48
→ threeus: 結果問的人不見了 03/05 12:14
→ latte0205: 通常都是會跟其他表做關聯性的資料表, 雖然只是ID, 03/08 15:35
→ latte0205: 建議還是用假性刪除會比較好, 多年開發的經驗 03/08 15:36
→ tingmeow: 有我已經參考好上面的回答把分頁寫好了!!大感激QQ 03/10 01:34
→ tingmeow: 雖然是去查詢一些網站類似的script來寫的 03/10 01:35
→ tingmeow: 發現有的書把分頁寫得又臭又長 *-* 這個方法簡單多了 03/10 01:35
→ tingmeow: 謝謝大家m(__ __)m 我想先直接無視id了 03/10 01:36