我想知道什么选项会使MySQL的命令行执行,在空的回复中,打印空集。MySQL命令行执行
的MySQL -u根-p MYPASSWORD mytable的-e “从名称中选择*,其中 第一=” %安德鲁% “\ G”
如果该查询返回空集,则执行命令行没有打印就退出没有答案。如何让它打印空集?
详细模式只打印查询。
我想知道什么选项会使MySQL的命令行执行,在空的回复中,打印空集。MySQL命令行执行
的MySQL -u根-p MYPASSWORD mytable的-e “从名称中选择*,其中 第一=” %安德鲁% “\ G”
如果该查询返回空集,则执行命令行没有打印就退出没有答案。如何让它打印空集?
详细模式只打印查询。
你可以在bash中检查它。
if [ "a$(mysql -u root -p myPassword mytable -e "select * from names where first="%andrew%"\G")" = "a" ]
then
echo Empty set
else
echo Not empty set
fi
您可以尝试-q(快速)选项。
让我们来看看 - 1行的结果:
$ mysql database -q -e 'select username,user_id from ... where true limit 1'
+---------------------------+----------+
| username | user_id |
+---------------------------+----------+
| administrator | 1111 |
+---------------------------+----------+
现在空集:
$ mysql database -q -e 'select username,user_id from ... where false'
+---------------------------+----------+
| username | user_id |
+---------------------------+----------+
+---------------------------+----------+
我认为这是某种形式在MySQL命令执行的细节,由于无缓冲输出。如果他们在将来的版本中进行更改,请不要感到惊讶。