通过索引访问Java pstmt sqlUpdate

通过索引访问Java pstmt sqlUpdate,java,sql,oracle,prepared-statement,Java,Sql,Oracle,Prepared Statement,我试图用sql语句更新db,但问题是参数是通过索引访问的。我正在努力做到以下几点: String sql = "UPDATE table1 SET par1 = ?, SET par2 = ?, SET par3 = ?, WHERE par4 =?" 但问题是我添加了一列,它被映射到par5。如何在此sql语句中设置此参数?我不确定是否正确获取它,您是说您不能将sql字符串更改为add,set par5=?更新java?这不是PL/SQL,只是普通SQL。请显示所有相关代码。目前所写的问

我试图用sql语句更新db,但问题是参数是通过索引访问的。我正在努力做到以下几点:

String sql = 
"UPDATE table1
SET par1 = ?,
SET par2 = ?,
SET par3 = ?,

WHERE par4 =?"

但问题是我添加了一列,它被映射到par5。如何在此sql语句中设置此参数?

我不确定是否正确获取它,您是说您不能将sql字符串更改为add,set par5=?更新java?这不是PL/SQL,只是普通SQL。请显示所有相关代码。目前所写的问题是不够的。请阅读。您的SQL语句语法错误。请先学习一些SQL基础知识。这是一个改进,但在WHERE之前仍然留下了额外的逗号。
String sql = "UPDATE table1 SET par1 = ?, par2 = ?, par3 = ?,WHERE par4 =?"
PreparedStatement pstmt = null;
String sql = "UPDATE table1 SET par1 = ?, par2 = ?, par3 = ?, par5 = ? WHERE par4 =?"
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, par1);
pstmt.setString(2, par2);
pstmt.setString(3, par3);
pstmt.setString(4, par5);
pstmt.setString(5, par4);
pstmt.executeUpdate();