今天在使用嵌套查询语句时出现这个错误,也很好解决,在这里记录一下。

例如这个语句:

<select id="findSongBySheetId" resultType="com.jhb.crash_music.pojo.Song" parameterType="int">select * from song_tablewhere song_id =(select songlist_songId from songlist_table where songlist_sheetId=#{sheet_id})
</select>

我是想通过多个sheet_id去查询一个song_id列表,然后通过song_id这个列表再来查询相应的song,结果出现报错:java.sql.SQLException: Subquery returns more than 1 row,查看报错信息显示我查询出了超过一行的行数。

因为当用where song_id=**时,这个等于对应的只能是一组,当你想多组嵌套查询时,需要将=改成in:

<select id="findSongBySheetId" resultType="com.jhb.crash_music.pojo.Song" parameterType="int">select * from song_tablewhere song_id in (select songlist_songId from songlist_table where songlist_sheetId=#{sheet_id})
</select>

之后进行运行,没有报错,查询结果也正常。

总结:

在一组查询条件时,用等于 = ;

在多组查询条件列表时,用 in ;

出现java.sql.SQLException: Subquery returns more than 1 row错误的原因,解决方法相关推荐

  1. java.sql.SQLException: Subquery returns more than 1 row

    java.sql.SQLException: Subquery returns more than 1 row错误:你的子查询中返回了多条数据 一.场景:子查询出现多个 结果: 二.解决方法 在重复写 ...

  2. java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized or represents 解决方法

    转载自https://blog.csdn.net/weixin_37577564/article/details/80329775 在JDBC使用的时候有时候会出现java.sql.SQLExcept ...

  3. Java SQLException: Subquery returns more than 1 row 问题解决

    问题描述: Cause: java.sql.SQLException: Subquery returns more than 1 row 问题分析: 1.子查询本来只能返回一条数据给username字 ...

  4. 使用DriverManager动态加载JDBC驱动时,报:java.sql.SQLException: No suitable driver found for xxxx 错误

    参考文章: yanbin.blog - 自定义类加载器动态加载 JDBC 驱动 项目场景: 使用DriverManager动态加载JDBC驱动时,报:java.sql.SQLException: No ...

  5. java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x90\xB1\xF0\x9F...‘解决

    mysql 字符存在表情包 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\xB1\xF0\x9F-' for column ...

  6. mysql错误18456_【问题解决】SQL2008 SQL Server身份认证方式登录失败(错误18456)解决方法图解...

    今天同事电脑本地数据库,用SQL Server身份认证登录不了,后来解决了,突然想起自己曾经也遇到过这个问题,所以还是在这里记录下. 问题报错截图如下: 解决方法步骤截图如下: 1.打开本地数据库-- ...

  7. java.sql.sqlexception: 无效的名称模式:_PSQLException:错误:关系&ldquo; TABLE_NAME&rdquo;不存在...

    我试图在PostgreSQL 8.4.2 DB上运行hibernate.每当我尝试运行一个简单的java代码时: List users = service.findAllUsers(); 我收到以下错 ...

  8. 【解决报错】java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

    IDE:IntelliJ IDEA Ultimate 2019.3 (我用的是学生版,只要大学邮箱能用就可以的) 报错信息全文附在最后.其中关键的信息就是: Root Cause java.sql.S ...

  9. [问题] springboot2报错 Exception during pool initialization. java.sql.SQLException

    用springboot配置文件连接数据库: yaml配置如下 报错类型: 2021-07-29 15:53:01.153 ERROR 12240 - [ restartedMain] com.zaxx ...

最新文章

  1. javascript:面向对象编程基础:继承
  2. HTML5如何学?学HTML5要注意什么?
  3. elementui可编辑单元格_关于遥感解译点室内解译编号的读取编辑方法
  4. Win7旗舰版系统如何设置定时关机
  5. UVA10317- Equating Equations(回溯+剪枝)
  6. officescan 不输入密码卸载
  7. axure文件如何加密_Axure发布到AxShare的加密与非加密方案 | 人人都是产品经理
  8. TCP 和 UDP 有什么区别?
  9. WPF高性能绘图之DrawingCanvas、DrawingVisual、Button的同时使用
  10. poi操作word,写入一个图片,并且设置其大小,以及图片和base64之间的互相转换,以及表格内容替换和插入
  11. PS问题汇总2017
  12. android5.1修改默认锁屏方式(去除锁屏)
  13. 哈哈!12万行代码堆出来个「蔡徐坤」
  14. MySQL(一) -----启动与关闭
  15. 中国FW贝尔探头市场现状研究分析与发展前景预测报告(2022)
  16. qualcomm的camera马达驱动代码分析
  17. vivado工程打包
  18. 名片管理系统java,[作业]JavaEE框架开发技术之名片管理系统
  19. 27岁到来之际,我在阿里实现了年薪40W+的小目标
  20. 没有目标的人是可悲的-2006

热门文章

  1. 冰山一角,管窥中国互联网的地下世界
  2. ffmpeg裁剪合并视频
  3. 华为p30鸿蒙系统内测在哪申请,华为自研操作系统:已注册“华为鸿蒙”商标
  4. bzoj4399 魔法少女LJJ 线段树合并
  5. 【电力系统分析】同步发电机
  6. 正则表达式的基本用法
  7. 基于java的坦克大战游戏-计算机毕业设计
  8. 世界危机四伏 难道2012真的存在
  9. 老友记第一季台词打印_老友记台词第一季 老友记第一季台词
  10. matlab中的电子器件,对电力电子器件控制设计进行硬件在环测试