我想动态地同时更新该字段的类别和英文列
我正在尝试更新表数据,但此代码无效。
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);
答案 0 :(得分:0)
应该是:
String query6 = "UPDATE tagger.postag SET category=?, english=?";
(逗号代替AND
,许多RDBMS期望参数出现问号,其他人希望$1
和$2
成为String query6 = "UPDATE tagger.postag SET category=$1, english=$2";
)
顺便说一句,我强烈建议您不要连接引用的字符串。它使您的代码看起来不像一个准备好的语句,难以阅读。
答案 1 :(得分:0)
当您使用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);