我一生都无法弄清楚为什么我不断收到此错误:
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,无法弄清楚这一点。
谢谢!
最佳答案
String Query = "SELECT COUNT (*) FROM "+Table+";";
上面应该是
String Query = "SELECT COUNT(*) FROM "+Table;
^^ ^^
|| ||
// space removed ; removed
关于java - MySQL JDBC 语句问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20531882/