来自database.table的MySQL SELECT记录(数据库名称包含' - ')

时间:2017-08-17 07:48:35

标签: php mysql

我想从另一个数据库获取行,所以我创建了查询:

SELECT * FROM database-test.users

MySQL导致错误:

  

Database_Exception [42000]:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;检查与您的MySQL服务器版本相对应的手册,以便在' -test.users'附近使用正确的语法。在第1行

如何解决这个问题?

感谢您的回复

3 个答案:

答案 0 :(得分:3)

你需要像下面这样做(使用表名后面的反差): -

SELECT * FROM `database-test`.users

或者

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

答案 1 :(得分:0)

尝试

SELECT * FROM `database-test`.users

正如您所看到的,我使用了`字符来封装数据库测试,这确保了名称中将接受非字母数字字符,如< - p>

答案 2 :(得分:0)

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

示例:

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