Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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
要动态更新的mysql语句_Mysql - Fatal编程技术网

要动态更新的mysql语句

要动态更新的mysql语句,mysql,Mysql,我有一个select语句select item,quantity FROM sometable,它返回以下数据: Item Quantity 21 23 22 12 23 15 是否可以将较小的项目数量减去1(使用SQL语句)。在上述场景中,项目22的数量应为11 使用语句SELECT item,quantity FROM sometable ORDER BY quantity LIMIT 1,我得到数量最少的行。现

我有一个select语句
select item,quantity FROM sometable
,它返回以下数据:

  Item     Quantity
   21         23
   22         12
   23         15
是否可以将较小的项目数量减去1(使用SQL语句)。在上述场景中,项目22的数量应为11

使用语句
SELECT item,quantity FROM sometable ORDER BY quantity LIMIT 1
,我得到数量最少的行。现在,我希望能够使用UPDATE语句从中减去1,UPDATE语句使用select语句中的值

我目前正计划通过PHP查询表值和循环来实现这一点


这可以通过构造UPDATE SQL语句直接实现吗?

感谢您的回复,但是
where quantity
似乎是错误的。它应该检查哪个项目的数量较少&然后从数量中减去1。你的问题不清楚。请添加更多示例数据和预期输出更新了问题。如果你需要更多信息,请告诉我。
update your_table
set quantity = quantity - 1
where item = (SELECT item FROM your_table ORDER BY quantity LIMIT 1)