作者qazsd (nice play!)
看板PHP
標題Re: [請益] 資料庫裡的資料ID如何重頭算起
時間Fri Nov 2 06:10:18 2007
※ 引述《qazsd (nice play!)》之銘言:
: 標題: [請益] 資料庫裡的資料ID如何重頭算起
: 時間: Mon Oct 1 00:05:54 2007
:
: 現在我某個資料庫裡的第一筆資料其ID是21
:
: 想要將21改成1 也就是變成名副其實(ID=1)的第一筆資料
:
: 要怎麼做呢
:
: --
:
※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 59.127.20.190
: 推 esyc:每筆資料都-20? UPDATE table SET ID = ID-20; 10/01 00:30
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
上面的推文是可以將資料庫裏現有的資料每一筆的ID都減少20沒錯
可是再增加新的一筆資料時,則還是接著舊的ID繼續算下去
例如舊的最後一筆的ID是53,執行 "UPDATE information SET s_id = s_id - 20;"
則該筆的ID變成33
但是在新增一筆時,它的ID會是54,也就是53+1
有沒有辦法讓資料庫的ID完全重頭算起阿?
而不是更改某些資料的ID而已
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.127.20.190
※ 編輯: qazsd 來自: 59.127.20.190 (11/02 06:11)
1F:推 buganini:請舉個完整的案例吧.. 11/02 07:53
2F:→ buganini:不然可以試試DELETE FROM `information`;保證成功Orz 11/02 07:53
3F:→ buganini:"資料庫的ID"這個說法實在很籠統 11/02 07:55
4F:推 buganini:看起來你不是用auto increment,那麼新id應該是自己產生的 11/02 08:03
5F:→ buganini:那你應該去改產生新id那裡,再者,從頭算起,遇到已經存在 11/02 08:04
6F:→ buganini:的ID呢? 跳過? 不管照寫? 又或者你想讓已經在資料庫裡的 11/02 08:05
7F:→ buganini:reindex緊密排列? 11/02 08:06
8F:推 allanshen:我比較好奇的是,這個ID不是從頭開始,有什麼關係? 11/02 09:23
9F:→ averywu:ALTER TABLE tbl_name AUTO_INCREMENT = xxx 11/02 14:35
※ 編輯: qazsd 來自: 59.127.20.190 (11/04 13:44)
10F:推 qazsd:每一筆資料的ID都是緊接著的 也就是都差1 (即公差=1) 11/04 13:45
11F:→ qazsd:第一筆ID現為21 最後一筆ID現為53 11/04 13:46
12F:→ qazsd:這樣一樓看懂了嗎?? 11/04 13:46
13F:推 buganini:那新增一筆資料的時候是? 11/06 20:36