我正在使用以下代码更新我的mysql表,其中Moving50和Moving200都是可变字符。

String sql = "update toplosers set Moving50 = ?, where Symbol = ?";
PreparedStatement stmt = conn.prepareStatement(sql);
for(int i1=0;i1<i;i1++)
 {

       stmt.setString(1, moving50[i1]);
       stmt.setString(2,symbol[i1]);


    stmt.addBatch();
}
stmt.executeBatch();
}


我收到“您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以获取在第1行的'where Symbol ='mysymbol'附近使用的正确语法”
问题是什么

最佳答案

无需为where子句添加“逗号”。
现在检查一下。

String sql = "update toplosers set Moving50 = ? where Symbol = ?";
PreparedStatement stmt = conn.prepareStatement(sql);
for(int i1=0;i1<i;i1++)
 {

       stmt.setString(1, moving50[i1]);
       stmt.setString(2,symbol[i1]);


    stmt.addBatch();
}
stmt.executeBatch();
}


请参阅示例示例here

关于java - SQL准备好的语句未执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9909677/

10-15 10:41