我需要将列的数据类型从 smallint 更改为 bigint(设计考虑不好,不要问)。我运行 TSQL
alter table dbo.Test alter column ProductionModeID bigint NULL
但得到消息:
消息 5074,级别 16,状态 1,第 1 行对象“DF_Test_ProductionModeID”依赖于列“ProductionModeID”。
消息 4922,级别 16,状态 9,第 1 行 ALTER TABLE ALTER COLUMN ProductionModeID 失败,因为一个或多个对象访问此列。
我DF_Test_ProductionModeID
在 dbo.Test >> 约束中找到了。(我不知道是如何DF_Test_ProductionModeID
创建的,也不相信我需要它存在)。我按 Delete,选择 OK 按钮,然后收到以下消息:
====================================
服务器上不存在默认的“DF_Test_ProductionModeID”。(SqlManagerUI)
节目地点:
在 Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DoDropObject(Int32 objectRowIndex) 在 Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DropAllObjects(Boolean stopOnError)
所以我现在很困惑,因为如果它不存在,那它怎么可能依赖一个列呢?