在MySQL中选择一个带有空格的数据库名

19

我想在mysql控制台中选择我的特定数据库,但问题是我的数据库名称有一个空格,并且mysql会忽略空格后面的部分。例如,当我输入以下命令时:

use 'student registration'

我收到了以下消息:

cannot find database 'student'

对我来说,无论是使用单引号还是反引号都可以正常工作。可能是版本之间的差异吧?(我的是在Windows上运行的5.0版本)。 - Dzinx
我向管理这个数据库的dba致敬。好的SQL编写本身已经够具有挑战性了,更何况还要管理数据库。唉! - Learning
7个回答

37

你应该尝试使用反引号("`")来引用你的数据库名称。一般来说,最好使用命名约定来消除空格,例如:

USE `StudentRegistration`;
或者
USE `student_registration`;

即使有空格,使用这些反引号也更好。很好的回答,David。+1 - João Bruno Abou Hatem de Liz

13
你有两个选项。
1. 用反引号或单引号括起数据库名称。
USE `student registration`;
USE 'student registration';

2 转义空格字符。

USE student\ registration;

奇怪的是这会产生错误信息。

ERROR: Unknown command '\ '.

但仍然会更改数据库。


2

使用双引号而非单引号,双引号对我有效:

USE "student registration";

嗨,我在这里使用了所有的技巧,例如“order details” [order details] 和 'order details',但它们都没有起作用,你有什么线索吗? - Tomer

2

当我需要处理其他人用空格制作的表格时,以下方法有效:

use `student registration`;

至少那将是你的。

0

使用学生注册,不需要引号。


0
使用学生注册;- 这对我来说就像宝石一样有效......还尝试了其他提供的替代方法...但在MySQL中对我都不起作用;

-1

你必须使用方括号来使这个工作:

Use [student registration]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接