我无法在 Microsoft SQL Server 2005 中运行简单的SQL查询来创建数据库而且我不确定原因。
当我运行此查询时
CREATE DATABASE 4444-virtual2
我收到此错误
'4444'附近的语法不正确。
如果我在名称中使用数值创建数据库表,是否还有必须指定的内容?或者我忘了什么?
答案 0 :(得分:8)
数据库名称需要start with a letter, underscore, at sign or number sign:
第一个角色必须是其中之一 以下内容:
Unicode定义的字母 标准3.2。 Unicode定义 字母包括拉丁字符 从a到z,从A到Z, 还有来自其他人的字母 语言
下划线(_),符号(@)或 数字符号(#)。
开头的某些符号 标识符在SQL中有特殊含义 服务器。一个常规标识符 以at符号始终表示 局部变量或参数和 不能用作任何名称 其他类型的对象。标识符 以数字符号开头表示 临时表或程序。一个 以double开头的标识符 数字符号(##)表示全局 临时对象。虽然数量 标志或双号标志字符 可以用来开始名字 其他类型的对象,我们没有 推荐这种做法。
某些Transact-SQL函数具有名称 以符号加倍开头(@@)。 避免与这些混淆 功能,你不应该使用名称 从@@开始。
除非您想使用双引号"4444-virtual2"
或方括号[4444-virtual2]
分隔名称的每次使用。
答案 1 :(得分:4)
您仍然可以使用该名称创建数据库,但需要将其放在引号或括号中。例如这有效:
CREATE DATABASE [4444-virtual2]
或者这个:
CREATE DATABASE "4444-virtual2"