2011-03-27 76 views
0

我有一個索引列id2的表。使用此表插入/刪除記錄後,會有一些缺失記錄。 id2開始喜歡這個Mysql重新生成從1到N的缺失ID

1,2,3,4,8,9,13,55,66,67,68 .... 928746

我怎麼能再生的id2序列所以它沒有丟失數字[1,2,3,4,5,6 ....]?此外,id2訂單必須與ts字段一致,這是用於記錄插入的unix時間戳。

是否有可能與MySQL查詢,沒有任何代碼(PHP)?

P.S沒有依賴於這些IDS我可以自由改變他們,我只是想做到這一點。任何提示?

+1

這要看情況。如果有表中有外鍵引用該ID,則必須更改它們。可能會變得棘手。按順序重新生成ID的目的是什麼? – Alp 2011-03-27 13:54:41

+0

我同意,聽起來毫無意義,如果有什麼依賴於這些ID可能會導致很多問題。也許更好的主意是使用缺失的密鑰並且能夠重新使用它們以用於任何新記錄? – 2011-03-27 14:05:15

+0

沒有依賴於這些ID,它們用於限制記錄的輸出,而不是使用'limit',因爲對於帶有+5000000條記錄的表,「limit」是無用的! – 2011-03-27 14:07:33

回答