如果在单个MySQL语句中同时使用G和分号 (;)终止符会发生什么?
正如我们所知道的,\G选项将命令发送到MySQL服务器执行,而通过Semicolon (;) MySQL确定语句的结尾。众所周知,它们都有不同的结果集格式。
现在,如果我们在MySQL语句中同时使用这两者,那么输出结果将基于MySQL首先遇到的符号。对于其他符号,MySQL将生成错误。下面的示例可以帮助理解。
mysql> Select CURDATE();\G
+------------+
| CURDATE() |
+------------+
| 2017-11-06 |
+------------+
1 row in set (0.00 sec)
ERROR:
No query specified
在上面的MySQL语句中,我们首先使用了分号 (;),然后使用了\G选项,因此我们以表格形式收到了输出结果。后来,MySQL抛出了错误,因为我们没有为\G选项指定任何查询。
mysql> Select CURDATE()\G;
*************************** 1. row ***************************
CURDATE(): 2017-11-06
1 row in set (0.00 sec)
ERROR:
No query specified
在上述MySQL语句中,我们首先使用了\G选项,然后使用了分号 (;),因此我们以垂直格式收到了输出结果。后来,MySQL抛出了错误,因为我们没有为分号 (;)指定任何查询。
阅读更多:MySQL 教程