我想事先定义好输出的文件名,而不是写死在语句里,但是就是不行set @fname=concat(curdate(),'table1.txt');select  * into outfile @fnamefrom table1;请高手指教!

解决方案 »

  1.   

    用prepare就可以实现
    步骤如下:
    mysql>set @fname=concat(curdate(),'table1.txt');
    mysql>set @s=concat('select * into outfile "',@fname,' "from table1');
    mysql>prepare stmt;
    mysql>execute stmt;
    就可以在你要导出数据的表的数据库目录下找到刚刚导出的文件.
      

  2.   

    set names gbk;set @fname=concat(curdate(),'table1.txt');prepare s1 from 'select * into outfile @fname from table1';
    execute s1;
    deallocate prepare s1;