修改SQL数据库中表字段类型时,报“一个或多个对象访问此列”错误的解决方法

将表中的字段设置为NOT NULL(不为空)、给字段增加Default值(默认值)这样的操作都会给该字段添加约束,增加了这些约束后,在用SQL脚本修改字段类型、删除字段的时候均会发生类似错误,需要查找该字段上已存在的约束,并删除存在的约束,再次执行修改/删除脚本即可。

例如:
alter table Student add Sentrance1 datetime default 2该语句给字段Sentrance1添加了约束
执行 alter table Student drop column Sentrance1的时候报错如下
消息 5074,级别 16,状态 1,第 1 行
对象'DF__Student__Sentran__0425A276' 依赖于 列'Sentrance1'。
消息 4922,级别 16,状态 9,第 1 行
由于一个或多个对象访问此列,ALTER TABLE DROP COLUMN Sentrance1 失败。

解决方法:
删除存在的约束,再次执行修改/删除脚本即可。
alter table Student drop constraint DF__Student__Sentran__0425A276

注:约束的编号可能是随即生成的,同样的语句,执行两次结果不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值