java—在sql查询中使用变量作为列

6mw9ycah  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(344)

这是我的密码。我试图在这里使用变量而不是列名

但我得到以下例外。如何解决此错误?

b4wnujal

b4wnujal1#

不能在准备好的语句中绑定表/列名,通常也不允许这样做。以下是代码的工作版本:

String query = "UPDATE report SET itemno = ?";
pst = (PreparedStatement) con.prepareStatement(query);
pst.setInt(1, dqty);
pst.executeUpdate();

笔记:
你几乎肯定要加一个 WHERE 子句,否则将影响表中的每个记录。对于准备好的语句,您不必担心转义文字数据。让java来处理这个问题。
如果您真的需要更新其他表/列组合的能力,那么只需为此创建其他语句。“一刀切”适用于7-eleven,但不适用于jdbc,因为您可能需要sql注入。

相关问题