我正在尝试使用Java更新MySql表中的一个值,但是我的代码更新了其中包含指定值的整个列。
我尝试使用LIMIT功能,例如
String sql = "UPDATE Task SET Status=? WHERE deadline = ? and name = ? order by deadline LIMIT 1";
,但是程序仍然更新整个“状态”列,而不仅仅是一个值。我也尝试过使用WHERE
添加2个规范,但是仍然不起作用。
没有错误消息。
有帮助吗?谢谢!
答案 0 :(得分:1)
您可以尝试使用子查询来对更新进行措辞,以找出最早的截止日期:
UPDATE Task
SET Status = ?
WHERE deadline = (SELECT min_deadline FROM
(SELECT MIN(deadline) AS min_deadline FROM Task) x) AND
name = ?;