11 个解决方案
#1
MYSQL之前的版本中 limit n,m 参数中无法使用变量,仅可使用常量。
#2
现在是可以使用变量的不过貌似必须是整型变量,我传入string变量然后用函数转化都不行···求高手指导
#3
limit 0+string变量 试试
#4
这个方法不行
#5
那就用用字符串累加生成SQL语句的方法
#6
不太懂 举个例子行不 谢谢
#7
既然数据库不行 那就直接提供整型吧 哪方便哪里来做
#8
我现在是必须要以传参的形式进去给他参数,不能提供整型,只有string型···
#9
set @start_row = 0+start_string;
set @max_count = 0+max_string;
select
fields
from
t_table
where
conditions
limit @start_row,@max_count
#10
PREPARE STMT1 FROM 'SELECT * FROM merchantcrm.merchant_cm_merchant_member_00 LIMIT ?,?';
SET @START = '0';
SET @SIZE = '4';
EXECUTE STMT1 USING @START,@SIZE;
经过验证发现其实string型本身是可以的,可能是分库分表规则zdal那边有问题,后来在规则检验前强制转化了下可以了 不过期待更好的回答
SET @START = '0';
SET @SIZE = '4';
EXECUTE STMT1 USING @START,@SIZE;
经过验证发现其实string型本身是可以的,可能是分库分表规则zdal那边有问题,后来在规则检验前强制转化了下可以了 不过期待更好的回答
#11
直接拼接字符串,然后再执行,比较直观.
#1
MYSQL之前的版本中 limit n,m 参数中无法使用变量,仅可使用常量。
#2
现在是可以使用变量的不过貌似必须是整型变量,我传入string变量然后用函数转化都不行···求高手指导
#3
limit 0+string变量 试试
#4
这个方法不行
#5
那就用用字符串累加生成SQL语句的方法
#6
不太懂 举个例子行不 谢谢
#7
既然数据库不行 那就直接提供整型吧 哪方便哪里来做
#8
我现在是必须要以传参的形式进去给他参数,不能提供整型,只有string型···
#9
set @start_row = 0+start_string;
set @max_count = 0+max_string;
select
fields
from
t_table
where
conditions
limit @start_row,@max_count
#10
PREPARE STMT1 FROM 'SELECT * FROM merchantcrm.merchant_cm_merchant_member_00 LIMIT ?,?';
SET @START = '0';
SET @SIZE = '4';
EXECUTE STMT1 USING @START,@SIZE;
经过验证发现其实string型本身是可以的,可能是分库分表规则zdal那边有问题,后来在规则检验前强制转化了下可以了 不过期待更好的回答
SET @START = '0';
SET @SIZE = '4';
EXECUTE STMT1 USING @START,@SIZE;
经过验证发现其实string型本身是可以的,可能是分库分表规则zdal那边有问题,后来在规则检验前强制转化了下可以了 不过期待更好的回答
#11
直接拼接字符串,然后再执行,比较直观.