假设我有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/