当前位置: 首页 > news >正文

解决ERROR: No query specified的错误以及\G 和 \g 的区别

文章目录

  • 1. 复现错误
  • 2. 分析错误
  • 3. 解决问题
  • 4. \G和\g的区别

1. 复现错误


今天使用powershell连接数据库后,执行如下SQL语句:

mysql> select * from student where id =39 \G;

虽然成功查询除了数据,但报出如下错误的信息:

mysql> select * from student where id =39 \G;
*************************** 1. row ***************************id: 39name: 上官婉儿no: 2023112345address: 王者荣耀法师阵营
head_image: »?ÿ倨p賗謻p?几 T\灖 u5ë-;┾遙·ÿ ß槆Geo竳â/?PIen%葖î
娛遖>DYÎ>酄¾ 9?曝ã6ñª媾叿ÿ 桉u?     岜盾砚臊罬鱂暤暩"忇r亠胞稛鸑xP诒¶2墸惵vo]*q詛W煂^岙?胼³?_0捁钔搀?bT烰闕X趲梡鉑寄?矃o檣t"珪獨贇篕裴_¿2贌 K湘繇P杝O)1 row in set (0.00 sec)ERROR:
No query specified

No query specified

2. 分析错误


首先,我们需要了解\G的作用,可以通过\h命令来查询:

在这里插入图片描述

从图中的红框可知,\G表示Send command to mysql server, display result vertically.,即为如下功能:

  1. Send command to mysql server表示向mysql服务器发送一条命令,这个命令是结束的命令,等同于;

  2. display result vertically表示垂直展示SQL

\G既然表示结束SQL语句,那么:

select * from student where id =39 \G;

就相当于:

select * from student where id =39 ;;
  1. 第一个;的前面有一个查询,正常给出结果;

  2. 第二个;的前面什么都没有,Send command to mysql server后,会抛出一个ERROR提示:No query specified(没有指定查询)

当然,这种对我们日常操作没有太大影响,不用过分担心。

但是,对于严谨的程序工程师,遇到这样ERROR的错误提示信息,心里总是会感到有点慌。

3. 解决问题


既然\G;都代表一条SQL语句的结束,我们把;去掉即可,如下代码所示:

mysql> select * from student where id = 39 \G
*************************** 1. row ***************************id: 39name: 上官婉儿no: 2023112345address: 王者荣耀法师阵营
head_image: »?ÿ倨p賗謻p?几 T\灖 u5ë-;┾遙·ÿ ß槆Geo竳â/?PIen%葖î
娛遖>DYÎ>酄¾ 9?曝ã6ñª媾叿ÿ 桉u?     岜盾砚臊罬鱂暤暩"忇r亠胞稛鸑xP诒¶2墸惵vo]*q詛W煂^岙?胼³?_0捁钔搀?bT烰闕X趲梡鉑寄?矃o檣t"珪獨贇篕裴_¿2贌 K湘繇P杝O)1 row in set (0.00 sec)

如此,便不再抛出异常了。

4. \G和\g的区别


有时,我们也会使用到\g,那么,它和\G有什么区别呢?

\g只表示Send command to mysql server,并没有垂直展示的意思。

当然,\g也等于;,即向MySQL服务发送结束语句的命令。

在这里插入图片描述

\G除了结束语句外,还有垂直展示的概念:


mysql> show create table student \G
*************************** 1. row ***************************Table: student
Create Table: CREATE TABLE `student` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) NOT NULL,`no` varchar(50) NOT NULL,`address` text,`head_image` blob,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
http://www.lryc.cn/news/192859.html

相关文章:

  • mysql中SUBSTRING_INDEX函数用法详解
  • AndroidStudio报错:android.support.v4.app.Fragment
  • 今年这情况,还能不能选计算机了?
  • Elastic Cloud v.s. Zilliz Cloud:性能大比拼
  • 设计模式03———包装器模式 c#
  • 《动手学深度学习 Pytorch版》 8.3 语言模型和数据集
  • Linux桌面环境(桌面系统)
  • 【LeetCode刷题(数据结构)】:二叉树的前序遍历
  • 自定义Flink kafka连接器Decoding和Serialization格式
  • 推荐八个大学搜题软件和学习工具哪个好用且免费,一起对比看看
  • SpringBoot面试题1:什么是SpringBoot?为什么要用SpringBoot?
  • Django Test
  • Linux- 自定义一个ARP请求
  • C++下载器程序:如何使用cpprestsdk库下载www.ebay.com图片
  • java springboot通过EnableConfigurationProperties全局声明bean并处理装配
  • 网络工程师知识点2
  • Vue 绑定style和class
  • 【Electron+Vue】Error: error:0308010C:digital envelope routines::unsupported
  • 第7章 验证你的 Micro SaaS 应用程序构想
  • 【微服务部署】七、使用Docker安装Nginx并配置免费的SSL证书步骤详解
  • 【Java 进阶篇】JavaScript 中的全局对象和变量
  • Stm32_标准库_12_串口_发送数据
  • “之江创客”跨境电商赛区决赛暨浙南新电商发展论坛圆满落幕
  • 使用antd-pro脚手架搭建react ts项目
  • 推荐几款简单易用的协作化项目管理工具
  • 【Redis】Hash 哈希相关的命令
  • 人大金仓分析型数据库常见性能原因
  • 【OpenCv光流法进行运动目标检测】
  • Word论文封面下划线怎么都对不齐
  • 汇编经典程序——将一个字节数据以十六进制形式显示