多行更新

Ogu*_*nwu 5 mysql sql sql-update

我在使用单个mysql语句更新mysql表的几行时遇到问题.

我有想要在字符串中更新的rowid,例如.

$ids="id1, id2, id3, id4,...."
Run Code Online (Sandbox Code Playgroud)

我在另一个字符串中有我的值,例如.

$values="str1, str2, str3, str4,....";
Run Code Online (Sandbox Code Playgroud)

(我有超过30,000行要更新)

想法是id1的行应该用str1更新,依此类推.

我怎样才能解决这个问题?

谢谢

Den*_*rdy 1

这将是一个非常丑陋的查询,但是......

update table
set    str = case id
             when id1 then str1
             when id2 then str2
             ...
             end
where  id in (id1, id2, ...)
Run Code Online (Sandbox Code Playgroud)