我正在尝试执行以下更新查询
update custom_field cfe set cfe.field_value =:valueId where cp_entity_id = :cId
更新了0行。
这不是更新任何行,但是相同的where子句与select查询一起正常工作并返回1行
select * from custom_field where cp_entity_id = :cId
另外,如果我硬编码cId参数的值,那么更新工作正常,但我正在从java程序执行它,所以我不可能硬编码值
cp_entity_id列也是外键。
答案 0 :(得分:1)
试试这个,我遇到了类似的问题。
用这个
qsort
查询以查找主键,然后在更新查询的where子句中使用该主键。
答案 1 :(得分:0)
PreparedStatement ps = conn.prepareStatement(
"UPDATE Messages SET description = ?, author = ? WHERE id = ? AND seq_num = ?");
// set the preparedstatement parameters
ps.setString(1,description);
ps.setString(2,author);
ps.setInt(3,id);
ps.setInt(4,seqNum);
// call executeUpdate to execute our sql update statement
ps.executeUpdate();
ps.close();