【发布时间】:2018-10-22 04:20:05
【问题描述】:
我有一个名为 ProgramData 的数据库表。他们我有一个名为 Id 的数据列并被执行。 id 设置为自动增量。
表结构是这样的。
我想要的是根据 id 执行的列需要更新。以下是我的代码段。
public void saveDtvProgDataExecuted()
{
ProgramData programeData = new ProgramData();
String SQL = "UPDATE program_data SET executed=1 WHERE programeData.id = ?";
this.jdbcTemplate.update(SQL);
}
如果我运行此代码,则会出现 bad SQL 语法 [UPDATE program_data SET executed=1 WHERE programeData.id = ?]; 之类的错误。嵌套异常是 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax;检查与您的 MariaDB 服务器版本相对应的手册,以了解在“?”附近使用的正确语法。在第 1 行
【问题讨论】:
-
您是否传递了 { programeData.id = ?} 的值
-
我认为你的错误是你在 WHERE 子句中输入了错误的表名......你可以写
WHERE id = ?。但是@this_is_om_vm 是对的——当你超过它时,它会抱怨,因为你没有为 ?占位符。 -
不,实际上我不知道如何通过它。
-
@moilejter 问题是我想不出如何传递那个 id 以及我应该在哪里做这个
标签: spring spring-boot