5 回答
TA贡献1815条经验 获得超10个赞
你删除的时候会提示你,有默认约束依赖该字段,那么你需要先删除默认约束(错误提示里会有默认约束名),再删除字段:
ALTER TABLE 表名 DROP CONSTRAINT 默认约束名
GO
ALTER TABLE 表名 DROP COLUMN 字段名
GO
TA贡献1873条经验 获得超9个赞
某表某字段的默认约束: select name from sysobjects where id=(select cdefault from syscolumns where name='字段名' and id = (select id from sysobjects where name = '表名'))
TA贡献2037条经验 获得超6个赞
下面是一个 删除列失败的例子,失败的提示信息中,应该会告诉你是什么约束导致删除失败。
那么后面的语句,是删除约束,然后再删除列。
1> ALTER TABLE test_tab
2> DROP COLUMN user_number;
3> go
消息 5074,级别 16,状态 1,服务器 HOME-BED592453C\SQLEXPRESS,第 1 行
对象'UQ__test_tab__023D5A04' 依赖于 列'user_number'。
消息 4922,级别 16,状态 9,服务器 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条经验 获得超6个赞
SQL中怎么删除约束?
在查询分析器里边执行
alter table 表名
drop constraint 约束名
查看表的约束名执行
sp_helpconstraint 表名
第二个结果集就列出了表的约束,constraint_name就是约束名
或者执行
sp_help 表名
一般第三个结果集中constraint_name就表示相应的约束名
- 5 回答
- 0 关注
- 702 浏览
添加回答
举报