MySQL MySQL中是否可以创建带空格名称的表格?
在MySQL中,创建表格是常见的操作之一。但是有些时候,我们可能需要创建一个带有空格的表格名称。那么问题来了,MySQL是否支持创建带有空格的表格名称呢?
阅读更多:MySQL 教程
初步尝试
我们来尝试一下,在MySQL中创建一个名称带有空格的表格:
CREATE TABLE `test table` (
`id` INT NOT NULL,
`name` VARCHAR(50),
PRIMARY KEY(`id`)
);
执行上述代码后,我们会发现,MySQL报了一个错误:
ERROR 1064 (42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL 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不支持在表格名称中使用空格,但我们可以使用下划线代替空格来创建表格名称,或者使用引号将表格名称包含起来。这样就可以成功创建带空格名称的表格了。
附录代码
-- 创建表格,表格名称带下划线
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`)
);