比如:要实现sql语句为:
SELECT * FROM tab LIMIT (3-1)*5,3*5;
sql将会报错!
可以尝试以下的写法:
PREPARE s1 from 'select * from tab LIMIT ?,?';
set @a:=(3-1)*5;
set @b:=3*5;
execute s1 using @a,@b;
SQL LIMIT变量参数使用技巧
本文介绍了一种在SQL中使用变量参数优化LIMIT子句的方法,避免直接在LIMIT子句中进行数学运算导致的语法错误。通过PREPARE和EXECUTE语句结合变量设置,实现动态LIMIT参数的有效应用。
比如:要实现sql语句为:
SELECT * FROM tab LIMIT (3-1)*5,3*5;
sql将会报错!
可以尝试以下的写法:
PREPARE s1 from 'select * from tab LIMIT ?,?';
set @a:=(3-1)*5;
set @b:=3*5;
execute s1 using @a,@b;

被折叠的 条评论
为什么被折叠?