繁体   English   中英

MySQL JDBC语句问题

[英]MySQL JDBC Statement Problems

我无法终生弄清楚为什么我会不断收到此错误:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM