Mysql - 从第X行更新到第Y行的记录?

时间:2015-04-30 04:23:12

标签: mysql sql

假设我有20条记录,并且我想将第6行更新为第10行。我尝试过这段代码,但收到错误:

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

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

2 个答案:

答案 0 :(得分:1)

你可以使用这样的东西:

Scanner scanner = new Scanner(System.in);
float a = scanner.nextFloat();
float b = scanner.nextFloat();
float z = a / b;
System.out.println(z);

看看update multiple rows using limit in mysql?

答案 1 :(得分:0)

您还可以使用仅包含要更新的行的自联接

UPDATE `tbl_student` s
JOIN (
SELECT id FROM `tbl_student` 
WHERE yrlevel = '1' 
  ORDER BY grade DESC 
  LIMIT 5 
  OFFSET 5
) s1 USING(id)
SET s.section ='a' 

DEMO