如何编写SQL查询以使用预准备语句更新表的多个列?

时间:2014-03-16 05:48:44

标签: java mysql sql jdbc

我一直在尝试这样的事情:

PreparedStatement ps = connection.prepareStatment("UPDATE table_nm(col1,col2,col3,col4,col5) SET(?,?,?,?,?)");

ps.setString(1, textField1.getText());
ps.setString(2, textField2.getText());
ps.setString(3, textField3.getText());
ps.setString(4, textField4.getText());
ps.setString(5, textField5.getText());
ps.executeUpdate();

我可以知道我在这里做错了什么。我尝试了不同的方法,但都没有。我只是想更新所有列。

2 个答案:

答案 0 :(得分:2)

正如@MarcB评论的那样,代码中的UPDATE语句是错误的:

更改:

UPDATE table_nm(col1,col2,col3,col4,col5) SET(?,?,?,?,?)

致:

UPDATE table_nm 
   SET col1=?, col2=?, col3=?, col4=?, col5=?

其余的代码似乎没问题。

参考MySQL: UPDATE Syntax

答案 1 :(得分:1)

("UPDATE COFFEES SET col1 = ? , col2 =? , col3 =?  and So on .....")

FyI,您还可以添加类似此WHERE col1 LIKE ?");

的where子句
 PreparedStatement ps = connection.prepareStatment("UPDATE table_nm SET col1 = ? , col2 =? , col3 =? ")

  ps.setString(1, textField1.getText());
  ps.setString(2, textField2.getText());
  ps.setString(3, textField2.getText());