使用批处理文件保存MySQL查询的问题

时间:2014-01-27 22:42:34

标签: mysql sql batch-file text

我最初将此标记为不同但后来发现了我的问题,但出现了另一个问题,所以现在我正在编辑这个问题。

首先让我开始吧。我不是一个“编码员”,我所做的一切都来自研究。我想要完成的是在循环上运行批处理文件。它在我的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命令返回空,它会一直循环直到有东西出现。

1 个答案:

答案 0 :(得分:0)

您是否尝试将结果保存到变量并进行检查?

@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