我不能为我的生活弄清楚为什么我一直收到这个错误:
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 '*) FROM login' at line 1
我尝试过使用'围绕表名,使用`......没有用。我能够在计算机上执行完全相同的SQL并且它可以工作,当程序去做它失败时。我只是检查一个表是否为空(虽然当我尝试从表中提取数据时我得到了同样的错误)。我尝试过使用(*)和* - 仍然会收到错误。也试过有和没有; - 结果相同。
代码:
public boolean tableIsEmpty(String Table)
{
String Query = "SELECT COUNT (*) FROM "+Table+";";
try{
rs = st.executeQuery(Query);
rs.next();
int count = rs.getInt(1);
if(count > 0)
{
return false;
}
else{
return true;
}
}catch(SQLException ex){
Logger.getLogger(DatabaseConnector.class.getName()).log(Level.SEVERE, null, ex);
return false;
}
}
我记得在使用postgresql之前有类似的问题,但我添加''并且它有效。这是我第一次通过Java使用MySQL而无法解决这个问题。
谢谢!
答案 0 :(得分:1)
String Query = "SELECT COUNT (*) FROM "+Table+";";
上面应该是
String Query = "SELECT COUNT(*) FROM "+Table;
^^ ^^
|| ||
// space removed ; removed