比如我有n行,我需要从第4行更新到第n行。这里 n 表示查询的最后一行。我知道多行更新会使应用程序崩溃,但就我而言,我确信 1 个用户最多有 40 行。
答案 0 :(得分:0)
请检查此查询以获取用户明智的更新,其中更新记录从 4 开始。为特定用户 ID 启用 WHERE 子句,否则禁用它。
-- MySQL (v5.8)
UPDATE test tt
INNER JOIN (SELECT id, userid
, ROW_NUMBER() OVER (PARTITION BY userid order by id) row_num
FROM test
-- WHERE userid = 1
) t
ON tt.id = t.id
AND t.row_num >= 4
SET tt.amount = tt.amount + 10;
请检查网址 https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=e0cda11163a44f7a2b82e31c6d13ed8d