mysql 批量更新数据

update table1 a set a.sequence = find_in_set(a.id, '5643,5662,5661,5660,5653')  where a.id in (5643,5662,5661,5660,5653)

要修改id为(5643,5662,5661,5660,5653)的四条数据,通过函数find_in_set(str,strList),查询顺序号赋值给sequence字段,这样就达到了批量的效果。

FIND_IN_SET(str,strlist) 具体函数的意思:
Returns a value 1 to N if the string str is in the string list strlist consisting of N substrings. A string list is a string composed of substrings separated by `,' characters. If the first argument is a constant string and the second is a column of type SET, the FIND_IN_SET() function is optimized to use bit arithmetic. Returns 0 if str is not in strlist or if strlist is the empty string. Returns NULL if either argument is NULL. This function will not work properly if the first argument contains a comma (`,') character.

example:
        SELECT FIND_IN_SET('b','a,b,c,d');

        -> 2





你可能感兴趣的:(C++,c,mysql,C#)