MySQL查询单行并从中获取值

时间:2017-09-15 23:27:31

标签: php mysql

我有一个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时,它给了我所有已经完成0的标记的测试,但是,我想从第一个开始并首先处理它,然后继续前进到下一个等等。所以我需要一个只显示第一行的查询。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

您的查询是在正确的轨道上,因为它已经按升序ID进行排序。您需要做的就是将其限制为仅返回第一个结果(如果存在)。只需将LIMIT 1添加到查询的末尾:

SELECT test FROM mytable WHERE done=0 ORDER BY id ASC LIMIT 1