1

我正在尝试更改列类型以增加其大小,但 SQL 给了我以下消息

Msg 5074, Level 16, State 1, Line 1
The object 'table_name' is dependent on column 'column_name'.
Msg 4922, Level 16, State 9, Line 1
ALTER TABLE ALTER COLUMN column_name failed because one or more objects access this column.

当我运行这个查询

ALTER TABLE table_name ALTER COLUMN column_name VARCHAR (25) NULL;

我发现的有关此问题的问题要么是约束,要么是阻止您更新列的统计信息,但这里自己的表取决于我要编辑的列。

并且该列不用作 FK 或类似的东西。

如何更改列类型?

4

3 回答 3

1

原来是全文索引在列上创建了这种依赖关系。必须完全删除全文索引,编辑列并重建它。

于 2016-12-26T11:13:22.300 回答
1

一种可能性是表中有一个计算列或计算列,其表达式基于此列?删除它可以解决问题。

请发布表格的完整 DDL,以便我们实际提供帮助

于 2016-12-22T14:31:54.733 回答
1
ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]

注意:不要忘记 Null....

于 2016-12-22T14:42:05.913 回答