2017-08-17 139 views
2

我想获得从另一个数据库行,所以我创建的查询:MySQL的SELECT记录(数据库名称包含 ' - ')

SELECT * FROM database-test.users 

MySQL的结果是错误:

Database_Exception [ 42000 ]: SQLSTATE[42000]: Syntax error or access violation: 1064 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 '-test.users' at line 1

如何解决这个问题?

感谢您的回复

回答

3

你需要做的是这样设置(使用周围表名反单引号): -

SELECT * FROM `database-test`.users 

或者

SELECT * FROM `database-test`.`users` 
0

尝试

SELECT * FROM `database-test`.users 

正如你所看到的,我已经使用'封装数据库测试的字符,它确保名称中接受非字母数字字符(如 - )。

0

我会建议在您的查询中“后退”所有数据库和表名称。它会告诉数据库的SQL解析器忽略任何特殊字符,如“ - ”,并将它们视为名称的一部分。

实施例:

SELECT * FROM `database-test`.`users`