背景:我在mysql数据库中使用phpmyadmin(mysql工作台)。我编写了一些php代码来导入数据库中的数据,并使用windows的任务调度器执行此操作。<=这个很好用!
现在我想将一些数据导出到windows文件夹中的一个文件中。首先,我在phpmyadmin中编写sql代码以查看一些调试信息。<=这就是问题所在。
我的主题:我想导出数据库的一些列。我的目标是把一个变量 CURRENT_TIMESTAMP
在文件名中。为此,我使用 Concat
声明。我的代码(发布在下面)获取以下错误的结果:
无法创建/写入文件“c:\temp\export\2018-08-08 09:21:27.txt”(错误代码:13“权限被拒绝”)
有趣的是,如果我替换变量 CURRENT_TIMESTAMP
例如,“hello world”没有错误,我的文件是在文件夹中创建的。
这是我的密码:
* set @sql = concat("SELECT `LS_ID_Nr`,
`Stk_pro_Krt_DL` * `Krt_DL` + `RB_Stk_pro_Krt_DL` * `RB_Krt_DL`,
`Umstellzeit`,
`Produktionszeit`,
`Teilmeldung`,
`Fertigmeldung` INTO OUTFILE 'C:/Temp/Export/",CURRENT_TIMESTAMP,".txt' fields terminated by ';' lines terminated by '\r\n' From praemie where Proof_P = 0");
prepare s1 from @sql;
execute s1;
DROP PREPARE s1;
UPDATE praemie SET Proof_P = 1 WHERE Proof_P = 0;*
有人知道为什么会有 Permission Error
使用一个变量?提前谢谢!
1条答案
按热度按时间toiithl61#
哦哦。。。。
我现在明白了!问题是,windows不能处理文件名中的“:”。所以我必须用date\u format语句编辑代码,如下所示: