在sql server中,当为一个原来没有id列(int或bigint型,记录产生时自动生成其值,以1为增量)的表增加id列时,如果该表行数较大(如数千万条记录),则往往不能成功,此时可变通一下,先根据原表新建一个结构一样的临时新表,再修改临时新表,增加id列,然后用以下语句将原表数据插入到新表
insert into 新表名 (字段a名,字段b名,...字段n名) select 字段a名,字段b名,...字段n名 from 原表名
以下是一个实例:
insert into tbtemp (bizfeedetid,prtname,fees,cinvid,count,price,stdfee,stime,etime,feecode,optime,pastyears,thisyear,lastyears) select bizfeedetid,prtname,fees,cinvid,count,price,stdfee,stime,etime,feecode,optime,pastyears,thisyear,lastyears from invoice_cont2014
最后删除原表,将新表更名为原表名。