如何将 SQL 中的数据附加到现有文件
SQL 可以使用 INTO OUTFILE 选项将数据转储到文件中,例如
SELECT * from FIshReport INTO OUTFILE './FishyFile'
问题是,只有当文件之前不存在时才允许使用此命令。它创建文件,然后输入数据。 那么,有没有办法以这种方式将数据附加到文件中呢?
SQL has the option to dump data into a file, using the INTO OUTFILE option, for exmaple
SELECT * from FIshReport INTO OUTFILE './FishyFile'
The problem is, this command is only allowed if the file didn't exist before it. It creates the file and then enters the data.
So, is there any way to append data to a file this way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
正如关于 SELECT 语法的 MySQL 页面所示:
http://dev.mysql。 com/doc/refman/5.0/en/select.html
另一种方法是从 MySQL 客户端发出 SELECT:
在您的情况下,将修改为:
以便您只需附加到文件。
从您的 Tcl 脚本中,您可以简单地将其作为执行命令发出:
http:// www.tcl.tk/man/tcl/tutorial/Tcl26.html
As the MySQL page on SELECT syntax suggests:
http://dev.mysql.com/doc/refman/5.0/en/select.html
the alternative to this is to issue the SELECT from the MySQL client:
which, in your case, would be modified to be:
so that you simply append to the file.
From your Tcl script, you could simply issue this as an exec command:
http://www.tcl.tk/man/tcl/tutorial/Tcl26.html
我认为出于安全原因,MySQL 不允许将数据附加到现有文件或覆盖现有文件。
解决方法是将结果保存在单独的文件中,然后附加使用文件 IO。
I think MySQL does not allow appending data to an existing file or overwriting an existing file for security reasons.
A work around could be to save resuts in seperate files and then append the using file IO.
您始终可以使用
>>
将 SQL 脚本的输出附加到文件中例如(对于 Sybase):
我无法告诉您 MySQL 的等效项是什么,但原则应该是相同的。
当然,输出将全部转到一个文件,因此如果您的 SQL 脚本将各种 SQL 选择输出到不同的输出文件,那么您需要将脚本拆分。
You could always append the output from your SQL script to a file using
>>
For example (for Sybase):
I can't tell you what the equivalent is for MySQL but the principle should be the same.
Of course output will all go to one file so if your SQL script is outputting various SQL selects to different output files then you'd need to split the script up.
您可以将其添加到变量中。然后使用带有 UNION 的 SELECT。
You could just add it to a variable. Then use a SELECT with UNION.