UPDATE experiment_log
SET look_time = CASE log_id
WHEN 1 THEN ((SELECT b.look_time FROM (SELECT a.look_time FROM experiment_log AS a WHERE a.log_id = 1) AS b )+5000)
WHEN 2 THEN ((SELECT b.look_time FROM (SELECT a.look_time FROM experiment_log AS a WHERE a.log_id = 2) AS b )+1000)
END
WHERE log_id IN (1,2)
这里主要用了 case when then关键字。
另外需要注意一点:Mysql不允许在同一张同时进行查询和更新操作的,所以我们需要用临时表来处理绕过这个限制