mysql:使用一个查询更新多个记录

mysql:使用一个查询更新多个记录,mysql,database,Mysql,Database,我目前正在使用以下查询语法更新记录,如下所示: update items set sort_index=1 where id=11 update items set sort_index=2 where id=33 update items set sort_index=3 where id=52 所以我想知道,是否可以通过一个查询更新多个记录? 谢谢是的,您可以根据givewhere表达式更新行。是的,您可以根据givewhere表达式更新行。是的,可以使用一个查询更新多个记录,但是不可能使

我目前正在使用以下查询语法更新记录,如下所示:

update items set sort_index=1 where id=11
update items set sort_index=2 where id=33
update items set sort_index=3 where id=52
所以我想知道,是否可以通过一个查询更新多个记录?
谢谢

是的,您可以根据give
where
表达式更新行。

是的,您可以根据give
where
表达式更新行。

是的,可以使用一个查询更新多个记录,但是不可能使用不同的数据更新多个记录,所有记录都使用相同的“设置”标准进行更新

因此,您当前使用的方法是更新这些记录的正确方法,如果有多个记录将其排序索引更新为1,2,3,则可以收集这些ID,然后运行以下操作来更新所有收集的记录

UPDATE items set sort_index=1 WHERE id IN (1,2,3); //where 1, 2 and 3 are the ids

是的,可以使用一个查询更新多个记录,但是不可能使用不同的数据更新多个记录,所有记录都使用相同的“设置”条件更新

因此,您当前使用的方法是更新这些记录的正确方法,如果有多个记录将其排序索引更新为1,2,3,则可以收集这些ID,然后运行以下操作来更新所有收集的记录

UPDATE items set sort_index=1 WHERE id IN (1,2,3); //where 1, 2 and 3 are the ids

当排序索引需要相同时,将起作用,而不是在伏羲问题示例中。更正第一段指出,他所描述的不可能,但作为替代,如果有多个,他可以如上所示将其分组。当排序索引需要相同时,将起作用,而不是在伏羲问题示例中。更正第一段指出,他所描述的是不可能的,但作为一种选择,如果有超过一个,他可以将其分组,如上图所示