问题描述
在 PHPMyAdmin 的查询框中工作,我想为 MysqL 5.5 数据库中的每个表编写一个输出文件“protokoll”。由于我有许多包含相同表且仅名称不同的数据库,因此我希望输出文件的文件名看起来像 /tmp/dbname_protokoll_tablename_.csv
这有效:
SELECT DATABASE() into @client;
SET @dir = '/tmp/';
SET @table = 'Adressen';
SET @stmt = CONCAT( 'SELECT * from ',@table,' WHERE MarkDel=1 into outfile ''',@dir,@client,'_Protokoll_','.csv'' CHaraCTER SET utf8 FIELDS TERMINATED BY '','' OPTIONALLY ENCLOSED BY ''"'' LInes TERMINATED BY ''\r\n'' ');
PREPARE DoExport from @stmt;
EXECUTE DoExport;
DEALLOCATE PREPARE DoExport;
从我读到的关于准备的内容来看,我应该能够使用“?”在语句内,如
SET @stmt = CONCAT( 'SELECT * from ? WHERE MarkDel=1 into outfile ...
然后使用像
这样的参数列表执行此操作EXECUTE DoExport USING 'Adressen','Familien','Kinder';
但我无法让它工作,我收到的只是一个不明确的语法错误。我该如何重写?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)