MySQL JDBC语句问题

时间:2013-12-11 23:10:08

标签: java mysql sql jdbc

我不能为我的生活弄清楚为什么我一直收到这个错误:

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而无法解决这个问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

 String Query = "SELECT COUNT (*) FROM "+Table+";";

上面应该是

 String Query = "SELECT COUNT(*) FROM "+Table;
                            ^^               ^^
                            ||               ||
                      //   space removed    ; removed