我无法运行简单的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