我在MySQL中有一個包含主鍵列的表。重新索引MySQL數據庫主鍵的查詢
比方說:
ID | Value
1 | One
2 | Two
6 | Three
8 | Four
9 | Five
我得到它是如何做的:
ID | Value
1 | One
2 | Two
3 | Three
4 | Four
5 | Five
有沒有其他表。只有一個。 我只是想讓ID進入正確的系列。
任何建議? 查詢也許.. :)
我在MySQL中有一個包含主鍵列的表。重新索引MySQL數據庫主鍵的查詢
比方說:
ID | Value
1 | One
2 | Two
6 | Three
8 | Four
9 | Five
我得到它是如何做的:
ID | Value
1 | One
2 | Two
3 | Three
4 | Four
5 | Five
有沒有其他表。只有一個。 我只是想讓ID進入正確的系列。
任何建議? 查詢也許.. :)
甚至有通過編寫此查詢
SET @newid=0;
UPDATE tablename SET primary_key_id=(@newid:[email protected]+1) ORDER BY primary_key_id;
該查詢將從1
這應該是接受的答案 – 2016-05-17 19:42:11
更改我的答案,雖然沒有嘗試過這一個。 – LearningDeveloper 2017-01-26 04:37:35
這個解決方案非常棒,但請根據您重申的這個領域考慮與其他表格的關係!如果你在其他表上有更新條款,那麼它是可以的,如果沒有,你應該更新其他表的ID;) – qdev 2017-11-24 11:26:31
對我來說,你有兩種選擇。
1)創建一個新表並複製現有數據。
2)將另一個自動增量字段添加到現有表中,然後刪除原始列。
ALTER TABLE tableName ADD NewIdn INT NOT NULL AUTO_INCREMENT KEY
工程很好..感謝您的解決方案「dbaseman」.. :) 不得不放棄ID列第一雖然因爲它沒有 不允許帶AUTO_INCREMENT的兩列。 \t「ALTER TABLE'test' DROP COLUMN'id'」 – LearningDeveloper 2012-04-20 08:38:48
我通過取消A_I盒(自動遞增的設置),點擊保存,然後再檢查它,然後點擊保存再次這樣做在phpMyAdmin。
我知道訂貨重新索引主鍵開始實現結果的簡單方法。這不是我想要的..我希望身份證是在一個完美的序列... – LearningDeveloper 2012-04-20 08:00:04