如果在一个MySQL语句中同时使用G和分号(;)作为终止符会发生什么?


我们知道,\G选项将命令发送到MySQL服务器执行,而分号(;)则帮助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抛出错误,因为我们没有为分号(;)指定任何查询。

更新于:2020年6月22日

351 次浏览

启动您的职业生涯

完成课程后获得认证

开始学习
广告