2011-09-20 85 views
6

我有一堆沒有主鍵的巨大表。 (不要問我爲什麼)我會在每個表上附加一個'id'字段。它將是一個整數類型。稍後,我會將其推廣到一個非空的唯一值索引和一個主鍵。將主鍵添加到MySQL表並自動填充

我的問題:在MySQL中是否有一種方法(5 ish)我們有大約一百個表,其中最大的有超過一百萬條記錄。在創建新的'id'列之後,是否有辦法讓MySQL回填(即向現有記錄添加值)'id'字段?我寧願能夠在MySQL中完成這一切。否則,我將不得不編寫一個PHP腳本來填充現有記錄。

Thanx,Don!

回答

12

如果你做一個

ALTER TABLE table1 ADD COLUMN id INTEGER NOT NULL auto_increment PRIMARY KEY 

它會自動填充您的表有auto_incrementing主鍵。

可能需要一段時間在一張大桌子上。

+1

沒有意識到添加自動增量PK會回填現有的行。太棒了。非常感謝你。 –