更改列数据类型

Sre*_*a C 4 sql-server sql-server-2008

我有一个表dbo.ExceptionMessage,现在我想将列数据类型更改nvarchar(100)nvarchar(MAX). 我使用 alter query 来更改此设置

ALTER TABLE dbo.ExceptionMessage ALTER COLUMN   Address nvarchar(MAX)
Run Code Online (Sandbox Code Playgroud)

在执行此查询时,它显示一些错误,例如。

对象“DF_ExceptionMessage_Address”依赖于列“Address”。

ALTER TABLE ALTER COLUMN 地址失败,因为一个或多个对象访问此列。

我们该如何解决这个问题...

Co.*_*den 7

首先像这样删除所有约束

ALTER TABLE TableName DROP CONSTRAINT [DF__TableName__ColumnName__FieldName] 
Run Code Online (Sandbox Code Playgroud)

然后执行更改

ALTER TABLE dbo.ExceptionMessage ALTER COLUMN   Address nvarchar(MAX)
Run Code Online (Sandbox Code Playgroud)

然后重新输入约束