看板 PHP 關於我們 聯絡資訊
※ 引述《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)
buganini:請舉個完整的案例吧.. 11/02 07:53
buganini:不然可以試試DELETE FROM `information`;保證成功Orz 11/02 07:53
buganini:"資料庫的ID"這個說法實在很籠統 11/02 07:55
buganini:看起來你不是用auto increment,那麼新id應該是自己產生的 11/02 08:03
buganini:那你應該去改產生新id那裡,再者,從頭算起,遇到已經存在 11/02 08:04
buganini:的ID呢? 跳過? 不管照寫? 又或者你想讓已經在資料庫裡的 11/02 08:05
buganini:reindex緊密排列? 11/02 08:06
allanshen:我比較好奇的是,這個ID不是從頭開始,有什麼關係? 11/02 09:23
averywu:ALTER TABLE tbl_name AUTO_INCREMENT = xxx 11/02 14:35
※ 編輯: qazsd 來自: 59.127.20.190 (11/04 13:44)
qazsd:每一筆資料的ID都是緊接著的 也就是都差1 (即公差=1) 11/04 13:45
qazsd:第一筆ID現為21 最後一筆ID現為53 11/04 13:46
qazsd:這樣一樓看懂了嗎?? 11/04 13:46
buganini:那新增一筆資料的時候是? 11/06 20:36