看板 PHP 關於我們 聯絡資訊
※ 引述《andreli (第一次賭P幣就沒錢)》之銘言: : ※ 引述《JimmyLi (Protect)》之銘言: : : 應該還是要從程式上面下手 : : 靠MySQL達不到這樣的需求 : : 而且如果要這樣做,建議把Auto_increment功能拿掉 : : 先用SELECT MAX 找出要insert 的流水號,然後在insert 資料 : : 刪除的運作方式 : : DELETE FROM TABLE WHERE 流水號 = XXX : : UPDATE FROM TABLE SET 流水號 = 流水號 -1 WHERE 流水號 > XXX : : 這是我想到的方法,大家再討論看看有沒有更好的作法吧... :) : 因為我對MySQL不太熟,所以我也不知道有沒有直接的作法 : 我的想法跟樓上的差不多,只是如果要使用auto_increment我想應該也是可以 : 就在最後讓auto_increment的值-1也就可以了。 : 詳細語法可以參考一下phpMyAdmin : 不知道還有沒有人什麼神奇的想法? = =a 老外的建議 For those that are looking to "reset" the auto_increment, say on a list that has had a few deletions and you want to renumber everything, you can do the following. DROP the field you are auto_incrementing. ALTER the table to ADD the field again with the same attributes. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.190.160 ※ 編輯: johnney 來自: 140.119.190.160 (04/11 12:01)
andreli:好厲害, 這內容哪裡找的? >__< 04/11 13:11
kenshieh:這樣子 table 超大的話, loading 會超大吧 04/11 13:37
JimmyLi:嗯, 假如我只是刪除了最後一筆,整個table都要重建. ? 哈 04/11 13:41
soulmates:!!!!! 04/11 14:05
EAFV:不過原主題這功能是為什麼要這樣跑啊 04/11 15:56
EAFV:基本上我看過的大部份情況都會砍掉就算了直接接下去 04/11 15:57
soulmates:如果這樣跑下去.那.我那個值該設多大啊? 04/11 20:03
soulmates:我現在那個欄位是設int(3)啦..XD..超級新手..:$:$:$ 04/11 20:04
blackbing:對阿如果要這做的話不如就不要給他auto_increment 04/11 22:20
blackbing:用另外一個欄位存這個編號就好了 04/11 22:21
soulmates:(拍頭!)對吼......XD..在想什麼啊..感恩感恩!! 04/11 23:15