我有兴趣将mysql select语句导出到samba共享上的文件中.一切正常,直到我尝试更新文件.例如,我有mysql导出到outfile peachtree.csv,当数据发生变化时,我希望它用新数据覆盖旧文件,但是,我收到错误:ERROR 1086(HY000):File’/ srv / samba /share/peachtree.csv’已经存在.是否有一个选项或开关我可以放入语句强制或使其写入现有文件?
SELECT * FROM peachtree,
INTO OUTFILE '/srv/samba/share/peachtree.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
解决方法:
你不能.这是一项安全功能.否则,你可能会
选择/ etc / password或/ etc / shells等文件.
从手册:
SELECT的SELECT … INTO OUTFILE’file_name’形式写入
选定的行到文件.该文件是在服务器主机上创建的,所以
您必须具有FILE权限才能使用此语法. file_name不能
是一个现有的文件,其中包括防止文件等
/ etc / passwd和数据库表被销毁.
标签:mysql,export,overwrite
来源: https://codeday.me/bug/20190620/1245871.html