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

发布于 2024-09-06 23:01:08 字数 278 浏览 8 评论 0原文

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

当我运行此查询时,

CREATE DATABASE 4444-virtual2

我收到此错误

“4444”附近的语法不正确。

如果我要创建名称中包含数字值的数据库表,有什么特别需要指定的吗?或者我忘记了什么?

I am having trouble running a simple sql query in Microsoft SQL Server 2005 to create a database and im not sure why.

When I run this query

CREATE DATABASE 4444-virtual2

I receive this error

Incorrect syntax near '4444'.

Is there anything in particular that I must specify if I am creating a database table with numeric values in the name? Or am I forgetting something?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

々眼睛长脚气 2024-09-13 23:01:08

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

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

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

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

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

一些 Transact-SQL 函数有名称
以双 at 符号 (@@) 开头。
为了避免与这些混淆
函数,你不应该使用名称
以@@开头。

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

Database names need to start with a letter, underscore, at sign or number sign:

The first character must be one of the
following:

  • A letter as defined by the Unicode
    Standard 3.2. The Unicode definition
    of letters includes Latin characters
    from a through z, from A through Z,
    and also letter characters from other
    languages.

  • The underscore (_), at sign (@), or
    number sign (#).

Certain symbols at the beginning of an
identifier have special meaning in SQL
Server. A regular identifier that
starts with the at sign always denotes
a local variable or parameter and
cannot be used as the name of any
other type of object. An identifier
that starts with a number sign denotes
a temporary table or procedure. An
identifier that starts with double
number signs (##) denotes a global
temporary object. Although the number
sign or double number sign characters
can be used to begin the names of
other types of objects, we do not
recommend this practice.

Some Transact-SQL functions have names
that start with double at signs (@@).
To avoid confusion with these
functions, you should not use names
that start with @@.

Unless you want to delimit every use of the name with double quotes "4444-virtual2" or brackets [4444-virtual2].

淡莣 2024-09-13 23:01:08

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

CREATE DATABASE [4444-virtual2]

或这样:

CREATE DATABASE "4444-virtual2"

You can still create a database with that name, but you need to put it in quotes or brackets. e.g. this works:

CREATE DATABASE [4444-virtual2]

or this:

CREATE DATABASE "4444-virtual2"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文