如果在一个 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-06-22

351 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告