在存储过程中使用tee的mysql
我是MySQL(或一般的SQL)新手 我试图让MySQL使用TEE命令将时间戳写入带有存储过程的文件中(我不认为我可以使用“select into outfile”,因为我不想删除该文件,我想在其中添加一行…: 但是,我得到一个错误: 错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在“/home/ubuntu/test.txt”附近使用的正确语法; 现在选择(); 在第3行结束 感谢您的帮助免责声明:我不确定您所做的一切是否一定是个好主意。。。但有一个简单的解决办法 使用创建一个表 然后,只需插入到该表中,即可将其追加到文件中在存储过程中使用tee的mysql,mysql,stored-procedures,Mysql,Stored Procedures,我是MySQL(或一般的SQL)新手 我试图让MySQL使用TEE命令将时间戳写入带有存储过程的文件中(我不认为我可以使用“select into outfile”,因为我不想删除该文件,我想在其中添加一行…: 但是,我得到一个错误: 错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在“/home/ubuntu/test.txt”附近使用的正确语法; 现在选择(); 在第3行结束 感谢您的帮助免责声明:我不确定您所做的一切是否一定是个好主意。。。但
使用
tee
是客户端功能。它根本不会写入服务器,除非您碰巧在服务器机器上运行mysql
客户端。。。那么,,它只是巧合地写入服务器机器。我从未见过在实际查询的上下文中使用此命令,而且它没有在此处突出显示语法这一事实强烈表明它不是MySQL语法的一部分,因为手动Tee功能仅在交互模式下工作。
可能是原因吗?@Pekka웃, 那么您要说的是,无法将时间戳输出到存储过程中的文件中?
mysql> DELIMITER $$
mysql> CREATE PROCEDURE test_to_file()
-> begin
-> TEE /home/ubuntu/test.txt;
-> SELECT NOW();
-> end $$