我有一个MySQL数据库,我正试图使用
导出数据SELECT...INTO OUTFILE...FROM
进入Windows上的My Documents文件夹。我希望代码能够在任何计算机上运行,而我仍然坚持如何编写文件路径。
我试过
SELECT...INTO OUTFILE 'C:/Users/%username%/Documents/filename.txt'...
我失败了。我在互联网上寻找解决方案而没有找到解决方案。
请有人帮帮我!提前谢谢。
答案 0 :(得分:0)
这取决于它运行的上下文。它不会出现在用户Box上(除非用户框是服务器)。在没有路径的服务器上,它会在通过
看到的值表示的目录中被填充show variables where variable_name ='datadir';
然后,在该目录下,在代表数据库目录的目录中。所以现在对我来说就是
C:\ProgramData\MySQL\MySQL Server 5.6\data\so_gibberish
因为so_gibberish是我的数据库名称。
如果在我的服务器上,我希望它从根目录转到我的开发目录,那么它将是
select * from t1 into outfile 'c:\\dev\\t99t.txt';
请注意上面的Windows转义。
或
select * from t1 into outfile '/dev/t99t.txt';
Linux操作系统。
如果上下文在命令行中运行,那么您就有可能选择环境变量这样的东西。
如果上下文(稍微不同的select stmt,而不是into outfile)是指向单独服务器框的客户端框上的PHP / Java(无论如何),那么可能会提示他们输入dirpath (测试你可以在那里写),然后继续。因此,客户端将获得结果集并执行fopens和fwrites。