5 回答

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
你刪除的時(shí)候會(huì)提示你,有默認(rèn)約束依賴該字段,那么你需要先刪除默認(rèn)約束(錯(cuò)誤提示里會(huì)有默認(rèn)約束名),再刪除字段:
ALTER TABLE 表名 DROP CONSTRAINT 默認(rèn)約束名
GO
ALTER TABLE 表名 DROP COLUMN 字段名
GO

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
某表某字段的默認(rèn)約束: select name from sysobjects where id=(select cdefault from syscolumns where name='字段名' and id = (select id from sysobjects where name = '表名'))

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊
下面是一個(gè) 刪除列失敗的例子,失敗的提示信息中,應(yīng)該會(huì)告訴你是什么約束導(dǎo)致刪除失敗。
那么后面的語(yǔ)句,是刪除約束,然后再刪除列。
1> ALTER TABLE test_tab
2> DROP COLUMN user_number;
3> go
消息 5074,級(jí)別 16,狀態(tài) 1,服務(wù)器 HOME-BED592453C\SQLEXPRESS,第 1 行
對(duì)象'UQ__test_tab__023D5A04' 依賴于 列'user_number'。
消息 4922,級(jí)別 16,狀態(tài) 9,服務(wù)器 HOME-BED592453C\SQLEXPRESS,第 1 行
由于一個(gè)或多個(gè)對(duì)象訪問(wèn)此列,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貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊
SQL中怎么刪除約束?
在查詢分析器里邊執(zhí)行
alter table 表名
drop constraint 約束名
查看表的約束名執(zhí)行
sp_helpconstraint 表名
第二個(gè)結(jié)果集就列出了表的約束,constraint_name就是約束名
或者執(zhí)行
sp_help 表名
一般第三個(gè)結(jié)果集中constraint_name就表示相應(yīng)的約束名
- 5 回答
- 0 關(guān)注
- 582 瀏覽
添加回答
舉報(bào)