4

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

当我运行这个查询

CREATE DATABASE 4444-virtual2

我收到此错误

'4444' 附近的语法不正确。

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

4

2 回答 2

11

数据库名称需要以字母、下划线、at 符号或数字符号开头

第一个字符必须是以下之一:

  • Unicode 标准 3.2 定义的字母。字母的 Unicode 定义包括从 a 到 z、从 A 到 Z 的拉丁字符,以及来自其他语言的字母字符。

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

标识符开头的某些符号在 SQL Server 中具有特殊含义。以 at 符号开头的常规标识符始终表示局部变量或参数,不能用作任何其他类型对象的名称。以数字符号开头的标识符表示临时表或过程。以双数字符号 (##) 开头的标识符表示全局临时对象。尽管可以使用数字符号或双数字符号字符来开始其他类型对象的名称,但我们不推荐这种做法。

某些 Transact-SQL 函数的名称以双 at 符号 (@@) 开头。为避免与这些函数混淆,您不应使用以@@ 开头的名称。

除非您想用双引号"4444-virtual2"或方括号分隔名称的每次使用[4444-virtual2]

于 2010-06-21T19:19:40.753 回答
7

您仍然可以使用该名称创建数据库,但需要将其放在引号或括号中。例如这有效:

CREATE DATABASE [4444-virtual2]

或这个:

CREATE DATABASE "4444-virtual2"
于 2010-06-21T19:28:24.540 回答