2011-09-08 18 views
7

我有一個非常大的數據庫表 - 近20萬條記錄。的phpMyAdmin/MySQL的 - 添加ID字段和自動填充的ID號

記錄不具有唯一的ID號。所以,我插入了新的領域。現在

,我想用ID號來填充它,增加1,從第一個ID號爲10000001。

僅供參考 - 我在本地機器上使用WAMP,並且我已將所有最長時間撥至5000秒,並在php.ini和mysql.ini中撥出其他幾個變量,以便首先進行上載(花了超過10個小時!!)。

在過去,或與其他數據庫的,我可能已經導出的數據導入Excel,然後颳起了一些文本粘貼到phpMyAdmin來更新記錄。在處理5K記錄或甚至100K記錄時,這沒什麼問題,但對於2000萬條記錄來說,這似乎難以管理。

在此先感謝!

回答

16

只要運行這兩個查詢一個,另一個在SQL選項卡後:然後

ALTER TABLE mytable AUTO_INCREMENT=10000001; 

ALTER TABLE mytable ADD `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST; 

MySQL將創建id現場並填寫在相繼開始10000001.

+0

+1,打我給它 – Johan

+0

這就是我得到接聽電話; d – gview

+0

感謝您的快速反應。 – Kevin

0

此作品在SQL Server中,也許你可以把它適應到MySQL:

declare @value int 
set @value=10000000 

update your_table 
set @value+=1,[email protected] 

它將開始更新你所有的ID行的10000001按1

我希望越來越多,至少,給你有一些想法。

+0

複雜,沒有任何理由,它會的工作,雖然。 – Johan

0

所有你需要做的將該列設置爲AUTO_INCREMENT,並且mysql將爲您的行編號。假設您希望將您的新列命名爲'id'。

alter table yourtable auto_increment = 10000001; 
alter table yourtable add id int unsigned primary key auto_increment; 

您可以在phpMyAdmin的sql面板中發出這些命令 - 只需在末尾留下分號即可。