我正在尝试使用Java连接到MySQL数据库,我收到以下错误:
SQLException: 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 '????????????????' at line 1
我无法理解错误并在网上搜索了很多但没有找到任何内容。这是我正在使用的代码:
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
}
catch (Exception E)
{
System.err.println("Unable to load driver");
E.printStackTrace();
}
try
{
Connection C = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/DATABASE_NAME","USERNAME","PASSWORD");
Statement Stmt = C.createStatement();
ResultSet RS = Stmt.executeQuery("SELECT somefield FROM sometable");
while (RS.next())
{
System.out.print("\"" + RS.getString(1) + "\"");
System.out.print(" by " + RS.getString(2));
System.out.println(": " + RS.getString(3));
}
C.close();
RS.close();
Stmt.close();
}
catch (SQLException E)
{
System.out.println("SQLException: " + E.getMessage());
System.out.println("SQLState: " + E.getSQLState());
System.out.println("VendorError: " + E.getErrorCode());
}
上面的SQL查询就是问题的一个例子。我正在使用的那个在MySQL控制台中没有任何问题。实际上,即使我从上面的代码中删除了查询和语句,我仍然会得到相同的错误。 有人可以帮忙吗? 提前致谢
答案 0 :(得分:3)
很可能是因为你正在使用它 table-table中的select字段是SQL保留字。如果您想进行此查询,则可能需要执行
select field from `table`
后面的单词表格。