我有一个表,在设计模式下,列名称周围有[square brackets]
。这是什么来的?我似乎无法删除它,这会导致问题。
答案 0 :(得分:9)
您的专栏名称使用reserved keyword。如果你不喜欢方括号,那么它们在很多场景中都会被要求,所以你应该考虑(a)使用非保留字(如IsDefault)或(b)不使用设计师。也许两者都有。
答案 1 :(得分:5)
要摆脱括号......
Exec sp_rename '[schema].[table].[[DEFAULT]]]', 'BetterColumnName', 'Column';
答案 2 :(得分:2)
在表设计模式下,如果您将任何列名称设为默认值,它将由[]自动包围,因为默认值是保留关键字。您可以通过右键单击该行并将其删除来删除它。
答案 3 :(得分:0)
通常情况下,字段中包含特殊字符(如空格)。尝试只制作字符和/或数字,它应该消失。
答案 4 :(得分:0)
不符合所有标识符规则的标识符必须在Transact-SQL语句中分隔。例如:
SELECT *
FROM [My Table] --Identifier contains a space and uses a reserved keyword.
WHERE [order] = 10 --Identifier is a reserved keyword.
参考:特定文档的MSDN:http://msdn.microsoft.com/en-US/library/ms175874%28v=SQL.90%29.aspx