我正在使用Java对一些数据库事务进行编码。我正在使用Java发送查询。我认为它没有问题。而且,如果我在提示符下发送查询,则它正在工作。
此方法正在更新书籍数量。
private static void updateBquantity(int bqt, String bname) {
Connection con = makeConnection();
try {
Statement stmt = con.createStatement();
System.out.println(bqt + " " +bname);
//this part is making problem
stmt.executeUpdate("update books set bookquantity = bookquantity -" + bqt + "where bookname = '" + bname + "';");
System.out.println("<book quantity updated>");
} catch (SQLException e) {
System.out.println(e.getMessage());
System.exit(0);
}
stmt.executeUpdate("update books set bookquantity = bookquantity -" + bqt + "where 도서이름 = '" + bname + "';");
这部分出了问题。
使用此表单的其他查询正在运行。
编译器说:
您的SQL语法有误。检查手册
对应于您的MySQL服务器版本以使用正确的语法
第1行的'bookname ='Davinci Code'附近
帮我。
最佳答案
我对bookname = 'Davinci Code
感到困惑,查询中的书名在哪里?无论如何,在此查询中,您在where
之前错过了空格,请尝试以下操作:
stmt.executeUpdate("update books set bookquantity = bookquantity -" + bqt + " where 도서이름 = '" + bname + "';");