Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用批处理文件保存MySQL查询时出现问题_Mysql_Sql_Batch File_Text - Fatal编程技术网

使用批处理文件保存MySQL查询时出现问题

使用批处理文件保存MySQL查询时出现问题,mysql,sql,batch-file,text,Mysql,Sql,Batch File,Text,最初我给它贴上了不同的标签,但后来我发现了我的问题,但是出现了不同的问题,所以现在我正在编辑这个 首先让我开始。我不是一个“程序员”,我所做的一切都来自于研究。我试图完成的是在循环中运行批处理文件。它可以在我的VPS上连接到MySQL。当有信息时,它会将MySQL命令的返回保存到文本文件中。问题是,当数据库中没有新信息时,它只是将其保存为一个空白文本文件。如果数据库中没有任何信息,我宁愿它根本不保存为文本。这就是我目前所拥有的。我也在WindowsServer2008上运行这个 @echo of

最初我给它贴上了不同的标签,但后来我发现了我的问题,但是出现了不同的问题,所以现在我正在编辑这个

首先让我开始。我不是一个“程序员”,我所做的一切都来自于研究。我试图完成的是在循环中运行批处理文件。它可以在我的VPS上连接到MySQL。当有信息时,它会将MySQL命令的返回保存到文本文件中。问题是,当数据库中没有新信息时,它只是将其保存为一个空白文本文件。如果数据库中没有任何信息,我宁愿它根本不保存为文本。这就是我目前所拥有的。我也在WindowsServer2008上运行这个

@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表返回空,如何使批处理忽略save to text命令。因此,任何帮助都是感激的!谢谢那么new information=查询是否显示了一些内容呢?是的,DB的设计目的是在使用信息行后删除该行。这意味着它在大多数情况下都是空的。因此,我只想在运行MySQL查询时,如果数据库中有这行信息,就保存一个文本文件?