我有一个表,并且在设计模式下,列的名称周围有[square brackets]
。这是从哪里来的?我似乎无法删除它,这是造成问题。SQL Server在重命名时出现列问题
回答
您的列名使用reserved keyword。如果你不喜欢方括号,它们将在很多场景中被需要,所以你可能应该考虑(a)使用非保留字(比如IsDefault)或者(b)不使用设计器。也许都是。
向下选民,关心评论? – 2013-04-03 20:07:25
我在执行表重命名时遇到过这个问题。 'Exec sp_rename'[schema]。[tablename]','[newTable]''会造成这种情况。区别在于第一个是参考,第二个是定义。 – 2013-04-03 20:19:45
@AaronBertrand这在概念上是最好的答案,但为了解决即时问题,我添加了正确的语法来处理重命名作为答案。我之前遇到过这个问题,需要它,所以我认为它可以帮助有人搜索相同的答案。 – 2013-04-03 20:31:15
通常这时候领域中有特殊字符(如空格)。试着只做字符和/或数字,它应该消失。
在表设计模式下,如果您将任何列名称设置为默认值,它将自动被[]超出,因为默认值是保留关键字。您可以通过右键单击并删除它来删除它。
不符合所有标识符规则的标识符必须在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
为了摆脱支架做的......
Exec sp_rename '[schema].[table].[[DEFAULT]]]', 'BetterColumnName', 'Column';
+1好点...但是,我没有问题在列名称字段中单击右键并手动重命名(如果我继续选择保留的关键字,则无法在没有括号的情况下保存它,但我不会如果我想要一个更明智的名字,则不需要明确地使用'sp_rename')。当然,我正在使用SSMS 2012;也许以前的版本对此并不那么友好。 – 2013-04-03 20:34:50
@AaronBertrand啊,知道了,我从来没有使用过设计模式,所以我没有意识到这个限制。对象浏览器和sp_rename将允许我在没有括号的情况下将列名更改为“DEFAULT”,但我明白了你的观点。在这种情况下,我很喜欢这个选项,因为它重命名了一个不正确地重命名为环境的表。我只是运行了一个部署脚本,而不是在500多个数据库上使用对象浏览器。 ;) – 2013-04-03 20:48:02
是的,是有道理的。该工具的现代版本应该能够处理OP的场景,但如果他们坚持使用保留关键字*和* 8年前的版本...... – 2013-04-03 20:49:13
- 1. 问题在SQL Server中重命名列
- 2. 当在Sql Server中重命名列时的流言表名称
- 3. 重命名SQL Server中的列
- 4. 重命名MS SQL Server 2005中的列
- 5. 卸载SQL Server的命名实例是否需要重新启动或导致现有实例出现问题?
- 6. 从SQL Server 2000升级到SQL Server 2008 R2时出现SQL查询问题
- 7. 重命名问题
- 8. 奇怪的行为重命名SQL Server中的列时2008
- 9. R问题中的重命名列
- 10. 重命名的SQL Server索引在MS SQL Server
- 11. 选择所有记录时出现SQL Server性能问题?
- 12. 卸载SQL Server Management Studio时出现问题
- 13. 使用SQL Server Management Express创建数据库时出现问题
- 14. Treeview问题,同时重命名节点
- 15. SQL Server 2008 R2 - 如何重命名多列名称?
- 16. 使用SQL Server 2012批量重命名列名称
- 17. 现场命名问题
- 18. 得到声明的命名空间工作时出现问题
- 19. 当我使用Xpath时,命名空间和libxml出现问题
- 20. 转换为SVG文件时出现XSL命名空间问题
- 21. SQL Server动态列问题
- 22. SQL Server序列号问题
- 23. 文件重命名问题?
- 24. svn重命名问题
- 25. Git重命名问题
- 26. 文件重命名问题?
- 27. 重命名SQL Server数据库和MVC5
- 28. 如何重命名sql server选项卡
- 29. 重命名一个SQL Server实例
- 30. 重命名SQL Server中的约束?
内容阻止您的组织 原因: 这Websense类别已过滤:个人网络存储和备份。 URL: http://screencast.com/t/KQZAWzkt – swasheck 2013-04-03 20:07:12
真的吗? '['和']'引起“问题如何?”他们造成了什么“问题”?除非你使用[此语言](http://gbf.sourceforge.net/),其中'['是关键字。 – swasheck 2013-04-03 20:09:49