gpt4 book ai didi

java - JDBCBatchUpdateException 检查语法

转载 作者:行者123 更新时间:2023-11-29 12:04:15 26 4
gpt4 key购买 nike

考虑下面的代码,

String query1 = "insert into quizquestion (ques, quizId) values "
+ "('"+ques+"', '"+quizId+"')";
s = con.createStatement();
s.executeUpdate(query1, Statement.RETURN_GENERATED_KEYS);
rs = s.getGeneratedKeys();
if (rs.next()){
quesId=rs.getString(1);
}

con.setAutoCommit(false);
String query2 = "insert into quizOption (option, quizQuesId, correct) values (?,?,?)";
ps = con.prepareStatement(query2);
for(int i=0; i<options.length; i++){
ps.setString(1, options[i]);
ps.setString(2, quesId);
if(correctOption.equals((i+1)+"")){
ps.setString(3, "1");
}else{
ps.setString(3, "0");
}
ps.addBatch();
}
int x[] = ps.executeBatch();
con.commit();

con.close();
return true;

问题是我的 query1 已成功执行,但是 query2 出现异常

我收到的一个示例错误如下,

java.sql.BatchUpdateException: 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 'option, quizQuesId, correct) values ('o13','16','1')' at line 1

有什么想法为什么我会收到此异常吗?提前致谢。

最佳答案

您的query2包含MySQL reserved keyword选项。这可能是导致问题的原因。尝试将列名称括在引号 (") 或反引号 (`) 中,如下所示:

String query2 = "insert into quizOption (\"option\", quizQuesId, correct) values (?,?,?)";

关于java - JDBCBatchUpdateException 检查语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31820696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com