我试图改变列类型以增加其大小,但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或类似的东西。
如何更改列类型?
答案 0 :(得分:1)
一种可能性是表中的计算或计算列的表达式基于此列?删除它可以解决问题。
请发布表格的完整DDL,以便我们实际提供帮助
答案 1 :(得分:1)
ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]
注意:不要忘记Null ....
答案 2 :(得分:0)
原来是正在为列创建此依赖项的全文索引。必须完全删除全文索引,编辑列并重建它。