使用JDBC和预准备语句时出现SQL语法问题

时间:2015-11-02 11:15:07

标签: java mysql jdbc

当我尝试执行UPDATE查询时,我收到此错误消息:

  

您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在'?'附近使用正确的语法在第1行

这就是我的代码:

sql = "UPDATE object_1_ SET attr_2_ = ?";
prepared = dbConnection.prepareStatement(sql);
prepared.setString(1, "abc");
prepared.executeUpdate();

但是,如果我稍微更改代码并删除参数:

sql = "UPDATE object_1_ SET attr_2_ = 'abc'";
prepared = dbConnection.prepareStatement(sql);
prepared.executeUpdate();

然后它的工作原理。所以,我想知道我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

问题原来是代码实际上在做

int f(foo const* this, int);

什么时候应该这样做

prepared.executeUpdate(sql);