Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 更改列上的默认绑定_Sql Server 2005 - Fatal编程技术网

Sql server 2005 更改列上的默认绑定

Sql server 2005 更改列上的默认绑定,sql-server-2005,Sql Server 2005,如何更改列的默认绑定 这项工作: ALTER TABLE [t].[t150806].[tblTest] ADD CONSTRAINT test_constraint DEFAULT '10' FOR test 但是因为我之前已经设置了默认绑定,所以我希望以这种方式继续。那么如何设置默认绑定呢` 谢谢 Barry您不能更改默认约束-您需要删除旧约束: ALTER TABLE [BI011mylovetoys].[mylovetoys150806].[tblTest] DROP CONST

如何更改列的默认绑定

这项工作:

ALTER TABLE [t].[t150806].[tblTest] 
ADD CONSTRAINT test_constraint DEFAULT '10' FOR test 
但是因为我之前已经设置了默认绑定,所以我希望以这种方式继续。那么如何设置默认绑定呢`

谢谢


Barry

您不能更改默认约束-您需要删除旧约束:

ALTER TABLE [BI011mylovetoys].[mylovetoys150806].[tblTest] 
DROP CONSTRAINT old_constraint 
然后添加新的:

ALTER TABLE [BI011mylovetoys].[mylovetoys150806].[tblTest] 
ADD CONSTRAINT test_constraint DEFAULT '10' FOR test 

无法更改默认约束-需要删除旧约束:

ALTER TABLE [BI011mylovetoys].[mylovetoys150806].[tblTest] 
DROP CONSTRAINT old_constraint 
然后添加新的:

ALTER TABLE [BI011mylovetoys].[mylovetoys150806].[tblTest] 
ADD CONSTRAINT test_constraint DEFAULT '10' FOR test 

正如公认的答案所示,默认绑定与默认约束不同。要更改列的默认绑定,请使用sp_unbinddefault和sp_binddefault:

尽管值得注意的是,的文档表明默认绑定机制已被弃用:

此功能将在Microsoft SQL Server的未来版本中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。我们建议您使用ALTERTABLE的default关键字或CREATETABLE语句来创建默认定义。有关详细信息,请参见创建和修改默认定义


正如公认的答案所示,默认绑定与默认约束不同。要更改列的默认绑定,请使用sp_unbinddefault和sp_binddefault:

尽管值得注意的是,的文档表明默认绑定机制已被弃用:

此功能将在Microsoft SQL Server的未来版本中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。我们建议您使用ALTERTABLE的default关键字或CREATETABLE语句来创建默认定义。有关详细信息,请参见创建和修改默认定义


但是,当我使用这种方法时,sql manager中的“默认绑定”字段中不会显示“10”。为什么会这样?但是当我使用这种方法时,sql manager中的“默认绑定”字段中没有显示“10”。为什么呢?