当我尝试执行此语句时,我收到了错误。我创建了一个包含表名的数组mem [],在每个表中有两列名为amt(float(9,2))和comb(varchar(5))。
String table = mem[i];
String x = "all";
String query = "select sum(amt) from" + table + "where comb = ?";
PreparedStatement pst =con.prepareStatement(query);
pst.setString(1, x);
ResultSet a = pst.executeQuery();
错误:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在第1行的'comb ='all'附近使用正确的语法 错误是什么?我该如何解决? 我还试过替换? with all并删除两行(String x =“all”;和pst.setString(1,x);)
答案 0 :(得分:2)
在FROM
之后和WHERE
之前添加空格:
String query = "select sum(amt) from " + table + " where comb = ?";
答案 1 :(得分:1)
你缺少一些空间。
更改
String query = "select sum(amt) from" + table + "where comb = ?";
到
String query = "select sum(amt) from " + table + " where comb = ?";