表格取决于列时的ALTER COLUMN

时间:2016-12-22 14:26:13

标签: sql-server tsql alter-table alter-column

我试图改变列类型以增加其大小,但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或类似的东西。

如何更改列类型?

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]

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

答案 2 :(得分:0)

原来是正在为列创建此依赖项的全文索引。必须完全删除全文索引,编辑列并重建它。