mysql查询将字段更新为max(field)+ 1
我想做的是:
UPDATE table SET field = MAX(field) + 1 WHERE id IN (1, 3, 5, 6, 8);
在我看来,该语句的语义首先是数据库将关闭,并为我确定field
全部中最大的价值是什么table
。然后,它将对该值加1,并将结果值分配给field
具有id
1、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