我想动态地同时更新字段的类别和英文栏
我正在尝试更新表数据,但此代码不起作用。
String query6 = "UPDATE `tagger`.`postag` SET category='"+"sqll"+" and english='"+"sql"+"";
psmt1 = conn2.prepareStatement(query6);
psmt1.setString(1,sql);
psmt1.setString(2,sqll);
psmt1.executeUpdate(query6);
它应该是:
String query6 = "UPDATE tagger.postag SET category=?, english=?";
(逗号而不是AND,许多 RDBMS 期望参数的问号,其他人想要$1并且$2哪个是String query6 = "UPDATE tagger.postag SET category=$1, english=$2";)
顺便说一句,我强烈建议您不要连接带引号的字符串。它使您的代码看起来不像准备好的语句并且难以阅读。
为什么在使用时要进行字符串连接PreparedStatement?
PreparedStatement很简单,只需使用?占位符
在执行 PreparedStatement 对象之前,您必须提供值来代替问号 (?) 占位符(如果有的话)。通过调用 PreparedStatement 类中定义的 setter 方法之一来执行此操作。
String query6 = "UPDATE tagger.postag SET category=? and english=?";
                                                   ↑             ↑
psmt1 = conn2.prepareStatement(query6);
psmt1.setString(1,sql);
psmt1.setString(2,sqll);
psmt1.executeUpdate(query6);