我想做的是:
UPDATE table SET field = MAX(field) + 1 WHERE id IN (1, 3, 5, 6, 8);
Run Code Online (Sandbox Code Playgroud)
在我看来,这个语句的语义首先是数据库会出现并确定我field所有的最大值是什么table.然后它会将1加到该值,并将结果值分配给field具有id1,3,5,6和8 的行的列.看起来很简单......
当我尝试运行该查询时,MySQL会对它进行扼杀并说:
ERROR 1111 (HY000): Invalid use of group function
Run Code Online (Sandbox Code Playgroud)
为了得到我想要的结果,你必须使用什么秘诀?
此致,维克