[Windows7 上的 MySQL Workbench 6.2]
我可以单击 MySQL 工作台导出图标导出查询结果。见下图:
但是,我需要在不同的循环中重复执行此操作,因此我想将其包含在我的脚本中。
我已经尝试过:
SELECT * from TABLENAME where ID = 123456 INTO OUTFILE 'C:/Users/username/Desktop/test.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n';
我还尝试了使用 \\
而不是 /
的文件路径,并且还尝试使用 LINES TERMINATED BY '\r\n'
作为我的文件路径在其他帖子里看到过。
当我尝试此操作时,尽管我也使用以下代码在 MySQL 命令客户端中授予了我的用户文件权限,但我得到了 Permission Denied [Errcode 13]
:
USE mysql;
UPDATE user SET File_priv = 'Y' WHERE User = 'db_user';
FLUSH PRIVILEGES;
有什么想法为什么它仍然不起作用吗?任何好的替代方案也欢迎!
最佳答案
这是由于 mysql 的文件夹访问权限造成的。因此使用下面的路径来写入csv文件。
C:\\Users\\<user_name>\\AppData\\Local\\Temp
假设您的系统有用户名 ABC,那么您的查询应该是。
SELECT * from TABLENAME where ID = 123456 INTO OUTFILE 'C:\\Users\\ABC\\AppData\\Local\\Temp\\test.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n';
关于MySQL 将查询输出导出到 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27277697/