java - Spring JDBC 和 MySQL 中无法使用 SET 关键字

标签 java mysql stored-procedures transactions spring-jdbc

我尝试在我的 spring jdbc 模板 中使用下面提到的查询,但出现错误的 sql 语法异常。除了存储过程之外还有其他方法可以解决这个问题吗?

SET @row_number:=0; 
SELECT * FROM(SELECT *,@row_number:=@row_number+1 AS row_number FROM COURSE 
ORDER BY C_ID) As a where a.row_number BETWEEN 1 AND 1000 limit 15;

最佳答案

为什么在COURSE的选择查询中需要@row_number?如果您关心分页,请使用默认的 mysql 限制查询。

SELECT * FROM COURSE limit ?,15;

从用户需要查看15个结果集的地方传递参数,请注意从0开始。

关于java - Spring JDBC 和 MySQL 中无法使用 SET 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35545410/

相关文章:

c# - 在 C# 循环中调用 SQL 存储过程时处理事务

java - CompletableFuture recoverWith 等效?即异常但返回 CompletableFuture<U>

sql - MySQL 认为子查询是派生的,而实际上不是!

mysql - SQL 中 WHERE 子句中带有相等语句的数字(WHERE 2>1)意味着什么?

sql-server - sql 中的累积总和,如果是日期

mysql - 用于显示的列名

Java:查找父级和子级......Tree,Loop,ArrayList,List,HashMap,......做什么?

java - 检查该行是否是文本文档中的最后一行

java - 这是快速排序的正确实现吗?

mysql - MySQL 中快速非规范化 View ,如何实现?