2

我正在尝试为刚刚添加的新列设置默认值。在属性中,我试图将 ' 设置Default Value or Binding'为一个简单的 XML,如下所示:

<root>
   <title>Welcome</title>
   <body>Thank you for your time.</body>
</root>

然而,当我点击离开时,我得到一个错误:

SQL 错误验证列的默认值

我在其他数字列中设置了这个值,它工作得很好。是什么赋予了?

4

2 回答 2

3

不确定,但 SQL Server Management Studio 中的可视化设计器通常不能正常工作......

只需使用简单的 T-SQL 语句即可实现相同的目的:

ALTER TABLE dbo.YourTableName
ADD CONSTRAINT DF_YourTable_YourXmlColumn
    DEFAULT '<root><title>Welcome</title><body>Thank you for your time.</body></root>' 
    FOR YourXmlColumn

你就完成了!

您没有指定表名和列名 - 所以我只是编了占位符 - 请用您的实际表名和列名替换它们!另外:对于默认约束,我总是建议指定一个明确的名称 - 让它更容易如果您需要,稍后禁用和/或删除约束;显示我的默认命名约定 - 再次:适应您的需要/喜欢

于 2013-11-11T22:01:26.610 回答
1

确实,知道要运行什么 TSQL 命令在许多方面都是有利的,但只是为 SQL Server Management Studio 添加一个答案,因此它不会被“它不能正常工作”所扫除,语法是 ('[xml here ]')。

('<root><title>Welcome</title><body>Thank you for your time.</body></root>')
于 2014-05-06T16:55:21.133 回答