本帖最后由 xiaowen_ly 于 2012-06-08 10:46:56 编辑

解决方案 »

  1.   

    set @asql=concat('SELECT A.ID,B.LG FROM TABLE A LEFT JOIN TABLE1 B ON A.ID = B.ID  
    WHERE A.NUM >= ',?,' AND A.NUM <=',?,' AND B.NUM >=',?,' LIMIT ',?,',',? );
    prepare stml from @asql;
    execute stml
      

  2.   

    SELECT SQL_CALC_FOUND_ROWS AccountID,CampaignID FROM t WHERE ID = 10984 LIMIT 10;
    SELECT FOUND_ROWS() 返回291,但是t表中是没有一条数据的。这是什么情况?SELECT AccountID,CampaignID FROM t WHERE ID = 10984 
    结果是什么set @a1=10;
    set @asql=concat('SELECT A.ID,B.LG FROM TABLE A LEFT JOIN TABLE1 B ON A.ID = B.ID   
    WHERE A.NUM >= ',@a1,' AND A.NUM <=',?,' AND B.NUM >=',@a1,' LIMIT ',?,',',? );
    prepare stml from @asql;
    execute stml
      

  3.   

    t表示个空表,SELECT AccountID,CampaignID FROM t WHERE ID = 10984 结果是没有一条记录
      

  4.   

    你确定表里没数据?
    SELECT count(*) FROM t WHERE ID = 10984确实是空?
      

  5.   

    你在MYSQL命令行下运行上述SQL语句,估计你是在图形化管理工具中运行,有一些附加作息
      

  6.   

    mysql> DELIMITER $$
    mysql> SELECT SQL_CALC_FOUND_ROWS * FRO
        -> SELECT FOUND_ROWS()$$
    Empty set (0.00 sec)+--------------+
    | FOUND_ROWS() |
    +--------------+
    |            0 |
    +--------------+
    1 row in set (0.00 sec)mysql> DELIMITER ;
      

  7.   


    mysql> DELIMITER $$
    mysql> SELECT SQL_CALC_FOUND_ROWS * FROM a WHERE ID = 10984 LIMIT 10;
        -> SELECT FOUND_ROWS()$$
    Empty set (0.00 sec)+--------------+
    | FOUND_ROWS() |
    +--------------+
    |            0 |
    +--------------+
    1 row in set (0.00 sec)mysql> DELIMITER ;