djv*_*djv 9 t-sql constraints sql-server-2008
我需要将列的数据类型从smallint更改为bigint(设计考虑不好,不要问).我运行TSQL
alter table dbo.Test alter column ProductionModeID bigint NULL
Run Code Online (Sandbox Code Playgroud)
但得到消息:
消息5074,级别16,状态1,行1对象'DF_Test_ProductionModeID'取决于列'ProductionModeID'.
消息4922,级别16,状态9,行1 ALTER TABLE ALTER COLUMN ProductionModeID失败,因为一个或多个对象访问此列.
我DF_Test_ProductionModeID在dbo中找到了.测试>>约束.(我不知道是怎么DF_Test_ProductionModeID创造的,我也不相信我需要它存在).我按Delete键,选择OK按钮,然后收到以下消息:
===================================
服务器上不存在默认的"DF_Test_ProductionModeID".(SqlManagerUI)
如需帮助,请单击:http://go.microsoft.com/fwlink?ProdName = Microsoft + SQL + Server&ProdVer = 10.50.1447.4+((KJ_RTM).100213-0103 +)&EvtSrc = Microsoft .SqlServer.Management.Smo.ExceptionTemplates .ObjectDoesNotExist&LINKID = 20476
课程地点:
Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DropAllObjects(Boolean stopOnError)中的Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DoDropObject(Int32 objectRowIndex)
所以我现在很困惑,因为如果它不存在,那么它如何依赖于一列呢?
SQL*_*ace 13
运行以下操作会发生什么?
ALTER table Test drop DF_Test_ProductionModeID
Run Code Online (Sandbox Code Playgroud)
另请参见如何命名默认约束以及如何在没有名称的情况下删除默认约束在SQL Server中获取更多信息
| 归档时间: |
|
| 查看次数: |
4100 次 |
| 最近记录: |