我想每天都把一个表的数据保存到文件中select * into outfile ... from a;但是这个文件名我想就是今天的日期。select * into outfile '2011-05-18.txt' from a;
select * into outfile '2011-05-19.txt' from a;
select * into outfile '2011-05-20.txt' from a;如何做呢?

解决方案 »

  1.   

    试试用PREPARE, 但更常见的方法是 生成文件 XXX, 然后在操作系统中更名。
      

  2.   

    1. prepare貌似可以,还有其他途径吗?
    不行我就用这个吧。2. 生成文件 XXX, 然后在操作系统中更名。
    这种方式个人感觉接受不了。况且需求很明确,手工修改浪费人力。
      

  3.   

    SET @s = 'select * into outfile \'?\' from aaa';
    PREPARE stmt FROM @s;
    SET @filename = CURDATE();
    EXECUTE stmt USING @filename;或
    EXECUTE stmt USING 'test.txt';
    都会报1064错。
      

  4.   

    计划任务调用bat文件执行
    dos命令 ren 原文件名 新文件名
      

  5.   

    SET @s = concat('select * into outfile ',CURDATE(),' from aaa');
    PREPARE stmt FROM @s;
    EXECUTE stmt ;