参考的原文链接:1、https://www.cnblogs.com/dengzt2011/archive/2012/12/09/2810063.html
alter table table_name drop column column_name sqlserver删除指定列失败时,报告消息如下:
消息 5074,级别 16,状态 1,第 1 行
对象'DF__MailResour__star__7D5BD6B2' 依赖于 列'star'。
消息 4922,级别 16,状态 9,第 1 行
由于一个或多个对象访问此列,ALTER TABLE DROP COLUMN star 失败。
注意看第二行,对象“XX”依赖于“YY”,YY指的就是你要删除的列,XX就是依赖于YY的一个约束。因为有依赖关系,所以删除的时候会抛出异常,如果你一定要删除该列,那么就先删除该列下面的约束
alter table table_name drop constraint XX 删除约束
alter table table_name drop column YY 现在就可以删除指定的列
原因:
为什么会有约束呢,查了下说是 增加字段时有default。
sqlserver 有六大约束,分别是:
一、主键约束(primary key)
二、外键约束(foreign key)
三、检查约束(check)
四、非空约束(not null)
五、唯一性约束(unique)
六、默认值约束(default)
default时其中的一种。
标签:__,star,删除,sqlserver,约束,table From: https://www.cnblogs.com/Dongmy/p/18072493