MySQL命令行运行脚本两次
问题描述:
我试图在Windows上这样运行了与MySQL的脚本:MySQL命令行运行脚本两次
mysql.exe -h 127.0.0.1 databaseName -uroot < path\to\my\script.sql
在我的剧本我做一些这样的东西
select 'start'; select 'import'; SOURCE import some other sql with functions and procedures select 'run'; some stuff select 'end';
当我正在寻找日志我发现这个:
start start import import run run end end
你知道MySQL为什么这么做吗?
答
看起来
http://sqlfiddle.com/#!9/9eecb7d/98044
MySQL是输出列标题和值。
要检查这个理论,你可以尝试http://sqlfiddle.com/#!9/9eecb7d/98046
select 'start' as my_command;
或
你会看到不同;-)
你检查什么记录?你用什么命令输出到日志?当我说日志时,提供script.sql – Alex
,我的意思是脚本上的所有select语句,我可以在标准输出 – User42
上看到,所以如果你的脚本只包含1行'select'start';'你还会得到两次吗?看起来像http://sqlfiddle.com/#!9/9eecb7d/98044 mysql正在输出**列标题**和**值**。所以要检查这个理论,你可以尝试'选择'开始'作为my_command;'你会看到差异;-) – Alex