我有一個表,並且在設計模式下,列的名稱周圍有[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. 名稱/重命名Azure SQL Server
- 10. SQL Server的排名問題
- 11. R問題中的重命名列
- 12. 重命名的SQL Server索引在MS SQL Server
- 13. ASPNET。簽名的PDF文件保存到SQL Server,檢索時出現問題
- 14. 選擇所有記錄時出現SQL Server性能問題?
- 15. SSL連接到SQL Server時出現問題
- 16. 使用SQL Server Management Express創建數據庫時出現問題
- 17. 卸載SQL Server Management Studio時出現問題
- 18. Treeview問題,同時重命名節點
- 19. 重命名sql server 2008中的列名稱
- 20. SQL Server 2008 R2 - 如何重命名多列名稱?
- 21. 使用SQL Server 2012批量重命名列名稱
- 22. 現場命名問題
- 23. 命名列'計數'會導致MySQL出現問題嗎?
- 24. 重命名在Microsoft SQL Server同治工作室列
- 25. 重命名SQL中的列
- 26. SQL Server序列號問題
- 27. SQL Server動態列問題
- 28. 得到聲明的命名空間工作時出現問題
- 29. 當我使用Xpath時,命名空間和libxml出現問題
- 30. 轉換爲SVG文件時出現XSL命名空間問題
內容阻止您的組織 原因: 這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