请问,我想要一个查询,帮助我在从dlr表中选择前200行后,将bill列的前200行更新为3。当我的select语句回来再选择200行时,我也希望不再重复。
它只会选择不是3的帐单列行。
以下是我写的查询,它给出了我下面提到的错误。
'LIMIT & IN/ALL/ANY/SOME subquery:
UPDATE dlr SET bill = 3
WHERE dlrid IN (SELECT dlrid FROM dlr WHERE bill = 0 LIMIT 0,200);
我收到错误= This version of MySQL doesn't yet support
有人可以帮帮我吗?
答案 0 :(得分:3)
您不需要子查询。
UPDATE dlr SET bill = 3 WHERE bill = 0 LIMIT 200;
答案 1 :(得分:0)
将限制子句从子查询中移出到更新查询中:
UPDATE dlr SET bill = 3 WHERE dlrid IN (SELECT dlrid FROM dlr WHERE bill = 0) LIMIT 200;
没有必要使用范围,因为下一个200保证与前200个不同,因为账单从0变为3。
为了实现这一点,dlrid在dlr中必须是唯一的,我猜它的名字就是。