假设我有20条记录,并且想将第6行更新为第10行。我尝试了此代码,但出现错误:

UPDATE db_scheduling.tbl_student
  SET section ='a'
  WHERE yrlevel = '1'
  ORDER BY grade DESC
  LIMIT 5
  OFFSET 5;


它说我在OFFSET部分有错误,我不知道它是否在UPDATE查询中起作用。当我删除偏移5时,它仅更新前5行。请帮助。

最佳答案

您可以使用以下方式:

UPDATE db_scheduling.tbl_student
    SET section ='a'
    WHERE yrlevel IN (
     SELECT id FROM (
         SELECT yrlevel FROM db_scheduling.tbl_student
         ORDER BY grade DESC
         LIMIT 5, 5
     ) tmp
    );


看看update multiple rows using limit in mysql?

关于mysql - MySQL-将记录从X行更新到Y行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29958957/

10-09 00:58
查看更多