MySQL MySQL中是否可以创建带空格名称的表格?


<!–

–>

MySQL MySQL中是否可以创建带空格名称的表格?

在MySQL中,创建表格是常见的操作之一。但是有些时候,我们可能需要创建一个带有空格的表格名称。那么问题来了,MySQL是否支持创建带有空格的表格名称呢?

阅读更多:

初步尝试

我们来尝试一下,在MySQL中创建一个名称带有空格的表格:

(adsbygoogle = window.adsbygoogle || []).push({});

CREATE TABLE `test table` (
    `id` INT NOT NULL,
    `name` VARCHAR(50),
    PRIMARY KEY(`id`)
);

执行上述代码后,我们会发现,MySQL报了一个错误:

ERROR 1064 (42000): You have an error in your  syntax; 
check the manual that corresponds to your  server version 
for the right syntax to use near 'table(
id INT NOT NULL,
name VARCHAR(50),
PRIMARY KEY(id)
)' at line 1

根据报错信息,我们可以发现错误是在“near ‘table”这个位置。这是因为MySQL不支持在表名中使用特殊字符,如表空格,减号等。

解决方法

那么怎样才能创建带空格名称的表格呢?我们可以使用下划线代替空格,来创建表格名称。如下代码所示:

CREATE TABLE `test_table` (
    `id` INT NOT NULL,
    `name` VARCHAR(50),
    PRIMARY KEY(`id`)
);

这里我们将“test table”改为了“test_table”,然后再次执行,创建表格成功!

另外,我们可以使用引号来包含表格名称,这样就能够在表格名称中使用空格。示例如下:

CREATE TABLE "test table" (
    `id` INT NOT NULL,
    `name` VARCHAR(50),
    PRIMARY KEY(`id`)
);

总结

MySQL不支持在表格名称中使用空格,但我们可以使用下划线代替空格来创建表格名称,或者使用引号将表格名称包含起来。这样就可以成功创建带空格名称的表格了。

(adsbygoogle = window.adsbygoogle || []).push({});

附录代码

-- 创建表格,表格名称带下划线
CREATE TABLE `test_table` (
    `id` INT NOT NULL,
    `name` VARCHAR(50),
    PRIMARY KEY(`id`)
);

-- 创建表格,表格名称带引号
CREATE TABLE "test table" (
    `id` INT NOT NULL,
    `name` VARCHAR(50),
    PRIMARY KEY(`id`)
);