首页 新闻 搜索 专区 学院

sqlserver 删除表中的字段失败?

0
悬赏园豆:15 [已解决问题] 解决于 2015-02-10 12:05

补充,在sqlserver 中 使用脚本,alter table VerifyCode DROP COLUMN IfHandSign 

删除表中的字段“IfHandSign”失败。

 

错误是:

消息 5074,级别 16,状态 1,第 1 行
对象'DF__VerifyCod__IfHan__173876EA' 依赖于 列'IfHandSign'。
消息 4922,级别 16,状态 9,第 1 行
由于一个或多个对象访问此列,ALTER TABLE DROP COLUMN IfHandSign 失败。

 

网上查询过说是因为有了约束,要先删除约束,想问原因?

[人在江湖]的主页 [人在江湖] | 菜鸟二级 | 园豆:258
提问于:2015-02-09 16:46
< >
分享
最佳答案
0

是有约束,得先删除约束才能删除字段

ALTER TABLE [dbo].[VerifyCode] DROP CONSTRAINT [DF__VerifyCod__IfHan__173876EA]

收获园豆:15
KingMi | 小虾三级 |园豆:1098 | 2015-02-10 10:21

 是用如下的sql增加这一列的,怎么添加了约束呢

--增加一列
if not exists
(select * from syscolumns where id=object_id('VerifyCode') and name='IfHandSign')
begin
alter table VerifyCode add IfHandSign INT DEFAULT 0
END

[人在江湖] | 园豆:258 (菜鸟二级) | 2015-02-10 10:46

@人在江湖博客: 请注意 DEFAULT 就是添加的约束。

KingMi | 园豆:1098 (小虾三级) | 2015-02-10 10:54
其他回答(1)
0

IfHandSign 是某个表的外键,当然要先删除约束咯。

删了'DF__VerifyCod__IfHan__173876EA表的外键就行。

Firen | 园豆:5483 (大侠五级) | 2015-02-09 17:22

 不是外键

支持(0) 反对(0) [人在江湖] | 园豆:258 (菜鸟二级) | 2015-02-10 09:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册