SQL Server在重命名时遇到列问题

时间:2013-04-03 19:58:30

标签: sql sql-server sql-server-2005 ssms

我有一个表,在设计模式下,列名称周围有[square brackets]。这是什么来的?我似乎无法删除它,这会导致问题。

enter image description here

5 个答案:

答案 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