参考   http://topic.csdn.net/u/20110711/11/430915bd-9cf8-4374-af14-682454c03879.html生成的sql语句是这样的insert into test select * from test_201107;
单独拿出来就可以
但是用PREPARE STML FROM @ASQL;
就不行

解决方案 »

  1.   

    creaet procedure sp_test()
    begin
    set @sql =concat('select * from ',concat("test_",DATE_FORMAT(now(),'%Y%m')));
    prepare stmt from @sql;
    execute stmt;
    end
    call sp_test;
      

  2.   


    set @ASQL = CONCAT("INSERT INTO tmp( user_id, num ,`type`,`from`) 
    SELECT user_id, count( * ) AS num ,method,'",concat('lomo_track_',
    DATE_FORMAT(now(),'%Y%m')) ,
    "' from track_",
    DATE_FORMAT(now(),'%Y%m'),
    " WHERE method in ('photo','comment','likes','followers','followings') and user_id > 0 GROUP BY user_id
    ");PREPARE STML FROM @ASQL;