5 回答

TA貢獻1815條經(jīng)驗 獲得超10個贊
你刪除的時候會提示你,有默認約束依賴該字段,那么你需要先刪除默認約束(錯誤提示里會有默認約束名),再刪除字段:
ALTER TABLE 表名 DROP CONSTRAINT 默認約束名
GO
ALTER TABLE 表名 DROP COLUMN 字段名
GO

TA貢獻1873條經(jīng)驗 獲得超9個贊
某表某字段的默認約束: select name from sysobjects where id=(select cdefault from syscolumns where name='字段名' and id = (select id from sysobjects where name = '表名'))

TA貢獻2037條經(jīng)驗 獲得超6個贊
下面是一個 刪除列失敗的例子,失敗的提示信息中,應(yīng)該會告訴你是什么約束導(dǎo)致刪除失敗。
那么后面的語句,是刪除約束,然后再刪除列。
1> ALTER TABLE test_tab
2> DROP COLUMN user_number;
3> go
消息 5074,級別 16,狀態(tài) 1,服務(wù)器 HOME-BED592453C\SQLEXPRESS,第 1 行
對象'UQ__test_tab__023D5A04' 依賴于 列'user_number'。
消息 4922,級別 16,狀態(tài) 9,服務(wù)器 HOME-BED592453C\SQLEXPRESS,第 1 行
由于一個或多個對象訪問此列,ALTER TABLE DROP COLUMN user_number 失敗。
1> ALTER TABLE test_tab
2> DROP UQ__test_tab__023D5A04;
3> go
1> ALTER TABLE test_tab
2> DROP COLUMN user_number;
3> go

TA貢獻1848條經(jīng)驗 獲得超6個贊
SQL中怎么刪除約束?
在查詢分析器里邊執(zhí)行
alter table 表名
drop constraint 約束名
查看表的約束名執(zhí)行
sp_helpconstraint 表名
第二個結(jié)果集就列出了表的約束,constraint_name就是約束名
或者執(zhí)行
sp_help 表名
一般第三個結(jié)果集中constraint_name就表示相應(yīng)的約束名
- 5 回答
- 0 關(guān)注
- 776 瀏覽
添加回答
舉報