Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在不更新整个列的情况下更新mysql表中的一个值_Java_Mysql_Database_Combobox - Fatal编程技术网

Java 如何在不更新整个列的情况下更新mysql表中的一个值

Java 如何在不更新整个列的情况下更新mysql表中的一个值,java,mysql,database,combobox,Java,Mysql,Database,Combobox,我试图使用Java更新MySql表中的一个值,但我的代码会更新包含指定值的整个列 我试过使用限制功能,比如 String sql = "UPDATE Task SET Status=? WHERE deadline = ? and name = ? order by deadline LIMIT 1"; 但该程序仍然会更新整个“状态”列,而不仅仅是一个值。我还尝试使用WHERE添加了两个规范,但仍然不起作用 没有错误消息 帮忙?谢谢 您可以尝试使用子查询来确定更新的最早截止日期: UPDATE

我试图使用Java更新MySql表中的一个值,但我的代码会更新包含指定值的整个列

我试过使用限制功能,比如

String sql = "UPDATE Task SET Status=? WHERE deadline = ? and name = ? order by deadline LIMIT 1";
但该程序仍然会更新整个“状态”列,而不仅仅是一个值。我还尝试使用WHERE添加了两个规范,但仍然不起作用

没有错误消息


帮忙?谢谢

您可以尝试使用子查询来确定更新的最早截止日期:

UPDATE Task
SET Status = ?
WHERE deadline = (SELECT min_deadline FROM
                     (SELECT MIN(deadline) AS min_deadline FROM Task) x) AND
      name = ?;

此查询中没有限额或订单依据的位置。您只需确保where子句选择了正确的行。如果需要一行,请指定选择该行的内容。如果有主键值,可能是主键值?为什么在更新查询中需要order by?@kiranMohan LIMIT而没有order by是毫无意义的。但是,我不确定OP的当前语法是否能正常工作。