sqlserver删除指定列失败,对象'DF__MailResour__star__7D5BD6B2' 依赖于 列'star'

参考的原文链接: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时其中的一种。

posted @   yinghualeihenmei  阅读(166)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2023-03-14 使用 pdf.js 在网页中加载 pdf 文件
点击右上角即可分享
微信分享提示