mysql查询将字段更新为max(field)+ 1

我想做的是:

UPDATE table SET field = MAX(field) + 1 WHERE id IN (1, 3, 5, 6, 8);

在我看来,该语句的语义首先是数据库将关闭,并为我确定field全部中最大的价值是什么table。然后,它将对该值加1,并将结果值分配给field具有id1、3、5、6和8

的行的列。似乎足够简单…

但是,当我尝试运行该查询时,MySQL对此kes之以鼻,说:

ERROR 1111 (HY000): Invalid use of group function

要获得我想要的结果,您必须使用什么秘诀?

问候,维克

回答:

尝试

UPDATE TABLE set field = ((SELECT selected_value FROM (SELECT MAX(field) AS selected_value FROM table) AS sub_selected_value) + 1) WHERE id in (1,3,5,6,8)

以上是 mysql查询将字段更新为max(field)+ 1 的全部内容, 来源链接: utcz.com/qa/432633.html

回到顶部