首页 / 问答 / SQL Server数据库删除数据表中的列/字段时报错"由于一个或多个对象访问此列,ALTER TABLE DROP COLUMN ColumnName 失败"

SQL Server数据库删除数据表中的列/字段时报错"由于一个或多个对象访问此列,ALTER TABLE DROP COLUMN ColumnName 失败"

0

在SQL Server数据库开发或者应用过程中,有时候我们需要根据需求删除某个数据表的某列/某个字段,我们知道可以使用如下的语法操作操作:

ALTER TABLE TableName DROP COLUMN ColumnName;

注:其中的TableNameColumnName请对应你实际项目的表名和列名。

但在某些场景中,如果直接执行以上的SQL语句会报类似如下的错误:

Msg 5074, Level 16, State 1, Line 2 The object 'DF__CompanyTr__Creat__0CDAE408' 依赖列 'Created'.
Msg 4922, Level 16, State 9, Line 2 由于一个或多个对象访问此列,ALTER TABLE DROP COLUMN ColumnName 失败.

是什么原因呢?又如何解决呢?

回复 [×]
提交评论
请输入评论内容

1 个回答

  • 0

    出现以上的错误,是因为你删除的列有约束。所以,首先需要使用drop constraint将这个列的约束删除,然后再执行删除这个列的SQL语句,如下:

    其中:TableName为你的表名,DF_Constraint_ColumnName为约束键名,ColumnName为要删除的列名。

    Rector的个人主页

    Rector

    2020-02-27 回答

    我来回答