sql08 語句修改標識列數據


  昨天給客戶導數據,內容表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

其中第二步可以不執行

這樣就大功告成了。數據庫方面還要再加強。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM