我想从mysql命令行工具执行一个SQL脚本文件,比如
mysql database < script.sql
其中脚本 script.sql 包含将输出重定向到文件的语句。
我认为应该可以通过将 tee 放入脚本中来实现这一点:
tee script.log;
SELECT sysdate() AS "Start" FROM dual;
UPDATE table SET column = 'off';
COMMIT;
不幸的是,这不起作用,不会出现 script.log 。
是否有可能将输出重定向到脚本本身的文件中?
使用案例:部署应用程序时,我们的服务部门将执行这些脚本。他们希望尽可能少的步骤和努力执行脚本,因此在命令提示符的末尾放置重定向(&gt; script.log )不是一个真正的选择,至少如果他们必须一次执行一堆脚本。
提前致谢, 迈克尔
答案 0 :(得分:0)
使用OUTFILE作为SELECT本身的一部分,如下所示: SELECT * FROM myTable INTO OUTFILE' / path / to / file.log'。另外,对于spoolong,请检查 What is the equivalent of the spool command in mysql