SQL修改列及表名的問題
遇到一個問題,怎么修改int的列為char,使用SQL語句的話,因為數量量比較大,查詢分析器里操作會超時失敗,剛開始認為執行下面語句就可以了
Alter table Stock alter column StockCount char
結果失敗,檢查了下,總結如下
執行上門操作需要先對表檢查
1.該列不是主鍵之類的,是的話要移除
2.查看約束,有和該列關聯的約束也要解除
3.索引看下是否用到該列
大概就這么多,我第二步就解決了上面的SQL修改列失敗問題
附帶下面的語句
增加列
1:在表table1中增加name列為text型
alter table table1 add name text
2:在表table2中增加nob列為int型且設自增量為1,且不空
alter table table1 add nob int identity(1,1) not null
刪除列
例:刪除table1中的id列
alter table table1 drop column id
3.修改表名
exec sp_rename '舊表名','新表名'
4.SQL查詢分析器的使用技巧,有時候臨時忘記語句怎么寫,但是修改表數據又提示超時
這時候可以,點 “工具”->選項->設計器->表設計器和數據庫設計器->自動生成更改腳步(這個選項打上勾)
然后,再次去修改數據,提示超時之后,會得到對應的sql執行代碼,把代碼提出來放在查詢分析器里手動執行就可以執行成功了
【編輯推薦】