我無法運行簡單的SQL查詢Microsoft SQL Server 2005創建數據庫,我不知道爲什麼。當我在數據庫名稱中包含數字字符時,SQL Server查詢創建數據庫時發生錯誤
當我運行此查詢
CREATE DATABASE 4444-virtual2
我收到此錯誤
附近有語法錯誤 '4444'。
有什麼特別的,我必須指定,如果我正在創建名稱中的數值的數據庫表?還是我忘了什麼?
我無法運行簡單的SQL查詢Microsoft SQL Server 2005創建數據庫,我不知道爲什麼。當我在數據庫名稱中包含數字字符時,SQL Server查詢創建數據庫時發生錯誤
當我運行此查詢
CREATE DATABASE 4444-virtual2
我收到此錯誤
附近有語法錯誤 '4444'。
有什麼特別的,我必須指定,如果我正在創建名稱中的數值的數據庫表?還是我忘了什麼?
數據庫名需要start with a letter, underscore, at sign or number sign:
第一個字符必須是 下列之一:
信由Unicode 標準3.2所定義的。字母的Unicode定義 包括從a到z,從A到Z, 以及來自其他 語言的字母字符的拉丁字符 。
下劃線(_),符號(@)或 數字符號(#)。
在 標識的開頭某些符號在SQL服務器 特殊的意義。 以at符號開頭的常規標識符總是表示 局部變量或參數,而 不能用作任何其他類型對象的名稱。以數字符號開頭的標識符 表示 臨時表或過程。以雙數字 開頭的 標識符(##)表示全局 臨時對象。儘管 號或雙號數字符號字符 可用於開始名稱 其他類型的對象,我們並不推薦這種做法 。
某些Transact-SQL函數名稱爲 ,它們以符號(@@)處的double開頭。 爲避免與這些 函數混淆,您不應使用以@@開頭的名稱 。
除非您想用雙引號"4444-virtual2"
或括號[4444-virtual2]
來劃定名稱的每個用法。
您仍然可以使用該名稱創建數據庫,但需要將其放在引號或括號中。例如這個工程:
CREATE DATABASE [4444-virtual2]
或本:
CREATE DATABASE "4444-virtual2"
同意。請參閱:http://msdn.microsoft.com/en-us/library/ms175874.aspx – Mike 2010-06-21 19:22:04
非常感謝,這非常有見地! – 2010-06-21 20:19:19