Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建数据库的SQL Server查询在数据库名称中包含数字字符时出错_Sql_Sql Server_Sql Server 2005_Identifier - Fatal编程技术网

创建数据库的SQL Server查询在数据库名称中包含数字字符时出错

创建数据库的SQL Server查询在数据库名称中包含数字字符时出错,sql,sql-server,sql-server-2005,identifier,Sql,Sql Server,Sql Server 2005,Identifier,我在Microsoft sql Server 2005中运行简单的sql查询创建数据库时遇到问题,我不知道为什么 当我运行此查询时 CREATE DATABASE 4444-virtual2 我收到这个错误 “4444”附近的语法不正确 如果我正在创建一个名称中包含数值的数据库表,是否需要特别指定什么内容?还是我忘了什么?数据库名称需要: 第一个字符必须是 以下: 由Unicode定义的字母 标准3.2。Unicode定义 字母的名称包括拉丁字符 从a到z,从a到z, 还有来自其他国家的字母

我在Microsoft sql Server 2005中运行简单的sql查询创建数据库时遇到问题,我不知道为什么

当我运行此查询时

CREATE DATABASE 4444-virtual2
我收到这个错误

“4444”附近的语法不正确

如果我正在创建一个名称中包含数值的数据库表,是否需要特别指定什么内容?还是我忘了什么?

数据库名称需要:

第一个字符必须是 以下:

  • 由Unicode定义的字母 标准3.2。Unicode定义 字母的名称包括拉丁字符 从a到z,从a到z, 还有来自其他国家的字母字符 语言

  • 下划线(_)、符号(@)或 数字符号(#)

符号开头的某些符号 标识符在SQL中有特殊的含义 服务器。一个常规标识符 以at符号开始,始终表示 局部变量或参数,以及 不能用作任何 其他类型的对象。标识符 以数字符号开头的表示 临时的桌子或程序。一 以双精度开头的标识符 数字符号(##)表示全局 临时对象。虽然数字 符号或双数字符号字符 可用于开头的名称 其他类型的对象,我们没有 推荐这种做法

某些Transact-SQL函数具有名称 以双at符号(@)开头的。 为避免与这些内容混淆 函数,则不应使用名称 那就从@开始吧


除非您想用双引号
“4444-virtual2”
或括号
[4444-virtual2]
来界定名称的每次使用,否则您仍然可以使用该名称创建数据库,但需要将其放在引号或括号中。e、 g.这项工作:

CREATE DATABASE [4444-virtual2]
或者这个:

CREATE DATABASE "4444-virtual2"

非常感谢,这是非常有洞察力的!