[英]MySQL query for a single row and get the value from it
我有一个PHP文件,它将更新MySQL中的表。 作业完成后,它将所有完成的标志从0更新为1。 我需要从最低的主键(ID)开始查询done=0
。 作业完成后,我更新done = 1,然后移至下一行。 我有下表:
--------------------
| ID | test | done |
--------------------
| 1 | test1| 0 |
--------------------
| 2 | test2| 1 |
--------------------
| 3 | test3| 0 |
--------------------
| 4 | test4| 0 |
--------------------
| 5 | test5| 1 |
--------------------
当我SELECT test FROM mytable WHERE done=0 ORDER BY id ASC
执行以下查询SELECT test FROM mytable WHERE done=0 ORDER BY id ASC
它为我提供了已完成标志为0的所有测试,但是,我想从第一个开始并首先处理它,然后继续下一个,依此类推。 因此,我需要一个仅显示第一行的查询。 我怎样才能做到这一点?
您的查询在正确的轨道上,因为它已经按ID升序排序。 您需要做的就是将其限制为仅返回第一个结果(如果存在)。 只需在查询末尾添加LIMIT 1
:
SELECT test FROM mytable WHERE done=0 ORDER BY id ASC LIMIT 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.