如果我在单个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抛出错误,因为我们没有为分号(;)指定任何查询。

猜你喜欢