2011-09-20 46 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会回填现有的行。太棒了。非常感谢你。 –