昨天給客戶導數據,內容表38萬條記錄,表字段不到100個。用程序分批導。
由於標識列 id 里的值有用,所以在導入時把id改為了不自增。導完后,再加為自增列時,提示超時。
用語句 alter table rcms_contents alter column [id] bigint identity(1,1) 修改,在sql08下提示語法錯誤。
於是找高手,上網查,解決了。方法如下:
1、先把數據加到臨時表里,一會兒會用到 select * into #content from content
2、先加一列id_1設為自增列 alter table rcms_Contents add id_1 bigint identity(1,1)
3、(一定要備份數據庫)然后把正表里的數據刪掉 truncate table content
4、打開此表設計,把id列改為自增,保存表
5、執行 set identity_insert content on (可更改標識列)
6、用 insert into 字段 select 字段 from #content 從臨時表里進行導入數據
7、把可更改標識列的值關閉,執行 set identity_insert content off
其中第二步可以不執行
這樣就大功告成了。數據庫方面還要再加強。
