1

我有一个名为 Contacts 的表,其列 Title varchar(50) 。现在在开发过程中,我想将字段 Title 的长度更改为 varchar(100) 。目前表 Contacts 有超过 25 个依赖项(其他表、视图函数)。当我在 sql server 2008 中运行以下 sql 语句时。我收到错误。

ALTER TABLE [Contacts ] ALTER COLUMN [Title ] varchar(100)

错误喜欢

Msg 5074, Level 16, State 1, Line 2
The object 'Contacts_title' is dependent on column 'title'. 

和更多。

4

2 回答 2

1

您必须放弃在Contact表上重新创建约束来执行此操作,或者(有时不推荐)您可以暂时禁用约束,更改长度并再次启用它们

--disable all constraints for the Sales.SalesOrderHeader table 
ALTER TABLE [yourtable] NOCHECK CONSTRAINT ALL  

--do your stuff

--do something  --enable all constraints for the Sales.SalesOrderHeader table 
ALTER TABLE [yourtable] CHECK CONSTRAINT ALL  
于 2013-08-13T13:52:19.240 回答
0

您必须删除依赖关系,然后重新创建它。

于 2013-08-13T13:47:32.980 回答