我正在尝试从表中进行选择,这对我的数据库中的每个其他表都可以正常工作,但是当我尝试以下操作时,我收到了一个错误:
db.makeQuery("SELECT * FROM References");
哪个电话:
public ResultSet makeQuery(String query) throws Exception
{
preparedStatement = connect.prepareStatement(query);
resultSet = preparedStatement.executeQuery(query);
return resultSet;
}
然后抛出以下错误:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
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 'References' at line 1
我觉得这很奇怪,因为这句话有效:
db.makeQuery("select * from Products");
答案 0 :(得分:8)
References
是SQL中的关键字,因此您最好避免使用表名。 (例如参见this documentation。)
正如Nishant所建议的那样,如果你用反引号来逃避查询,可以在查询中使用保留字。
相关问题:
答案 1 :(得分:6)
答案 2 :(得分:0)
您可能会错误拼写表格的名称。当MySQL无法找到您所指的那个表时,会发出此错误。
使用SHOW TABLES;
查看数据库中表格的名称,并仔细检查名称。