ALTER TABLE [要刪除的字段所在的表名]
DROP COLUMN [要刪除的字段];
GO
這樣不就OK了嗎?
可是如果這個字段上要是有約束的話呢,就會彈出類似如下的提示:
消息 5074,級別 16,狀態 1,第 1 行
對象'DF__***__***__682A18F4' 依賴於 列'***'。
消息 4922,級別 16,狀態 9,第 1 行
由於一個或多個對象訪問此列,ALTER TABLE DROP COLUMN ***失敗。
如何解決這個問題呢?
首先你可以要找到該字段的約束,然后刪除它
--查詢某個表的所有的字段約束
sp_helpconstraint [要刪除的字段所在的表名]
--查詢某表某字段的默認約束
select name as 約束名
from sysobjects
where id in (select cdefault
from syscolumns
where name in ( [要刪除的字段])
and id=(select id
from sysobjects
where name = [要刪除的字段所在的表名]))
查詢到約束后,就要刪除約束了
ALTER TABLE [要刪除的字段所在的表名]
DROP 約束名;
GO
ALTER TABLE [要刪除的字段所在的表名]
DROP COLUMN [要刪除的字段];
GO