limit函数有限制参数必须为整型,现在有个需求是要给limit函数传入二个参数,而我这边能提供的二个参数是string型的,如果转化为int性被limit函数接受? 用cast(? as unsigned int)不行,求高手赐教 ,在线等mysql  limit

解决方案 »

  1.   

    MYSQL之前的版本中 limit n,m 参数中无法使用变量,仅可使用常量。
      

  2.   

    现在是可以使用变量的不过貌似必须是整型变量,我传入string变量然后用函数转化都不行···求高手指导
      

  3.   

    那就用用字符串累加生成SQL语句的方法
      

  4.   

    我现在是必须要以传参的形式进去给他参数,不能提供整型,只有string型···
      

  5.   


    set @start_row = 0+start_string;
    set @max_count = 0+max_string;select
    fields
    from
    t_table
    where
    conditions
    limit @start_row,@max_count
      

  6.   

    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那边有问题,后来在规则检验前强制转化了下可以了 不过期待更好的回答