我最初将其标记为不同的东西,但后来发现了我的问题,但又出现了一个不同的问题,所以现在我正在编辑这个问题。
首先让我开始。我不是“程序员”,我所做的一切都来自研究。我想要完成的是循环运行批处理文件。它可以很好地连接到我的 VPS 上的 MySQL。当信息存在时,它会将 MySQL 命令的返回保存到文本文件中。问题是当数据库中没有新信息时,它只是将其保存为空白文本文件。如果数据库上没有信息,我宁愿不将其保存到文本中。这是我到目前为止所拥有的。我还在 Windows Server 2008 上运行此程序。
@echo off
:loop
timeout /T 5
mysql --host=111.11.111.11 --port=3306 --user=user_name --password=password --database=db_name --execute="SELECT * FROM tablename LIMIT 1" > results.txt
if exist c:\users\administrator\desktop\results.txt goto end
goto loop
:END
start program.exe
exit
因此,如果 MySQL 命令返回信息,我需要的是保存到文本的内容,但如果 MySQL 命令返回空,它会不断循环,直到有内容为止。
最佳答案
您是否尝试过将结果保存到变量并进行检查?
@echo off
:loop
timeout /T 5
Myans = mysql --host=111.11.111.11 --port=3306 --user=user_name --password=password --database=db_name -- execute="SELECT * FROM tablename LIMIT 1"
if not %Myans%=="" ( Myans >> results.txt )
if exist c:\users\administrator\desktop\results.txt goto end
goto loop
:END
start program.exe
exit
关于mysql - 使用批处理文件保存 MySQL 查询的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21393241/