在学习Mysql递归调用中,编写的 递归SQL 在 Navicat 中运行正常,但在 Java项目中 mapper.xml 文件中确报错:Subquery returns more than 1 row .

Mysql递归调用原文: Mysql递归查询    ,在根据这篇文章编写 Mysql递归SQL中,我遇到了以上的问题。

经过排查分析,我找到了问题。以下方的原始SQL为例,进行讲解。

-- 单纯使用SQL递归 查询父节点  含自己
SELECTT2.level_,T3.*
FROM(SELECT@CODE AS _code,( SELECT @CODE := parent_code FROM sys_region WHERE CODE = @CODE ) AS T1,@l := @l + 1 AS level_ FROMsys_region,( SELECT @CODE := '370171401000', @l := 0 ) T4 WHERE@CODE IS NOT NULL ) T2,sys_region T3
WHERET2._code = T3.CODE
ORDER BY level_;

这条SQL在 Navicat 中运行正常,没有报错。但我根据自己的工作项目修改SQL后,报了:Subquery returns more than 1 row 的错误,错误的原因我不是特别清楚,但进行如下处理后,问题就解决了。

SQL中 T1 子表中,应该这样写:( SELECT @CODE := parent_code FROM sys_region WHERE CODE = _code ) AS T1 ,把 WHERE 判断条件中的 @code 值替换成 _code值,

修改后的SQL如下所示:

-- 单纯使用SQL递归 查询父节点  含自己
SELECTT2.level_,T3.*
FROM(SELECT@CODE AS _code,( SELECT @CODE := parent_code FROM sys_region WHERE CODE = _code) AS T1,@l := @l + 1 AS level_ FROMsys_region,( SELECT @CODE := '370171401000', @l := 0 ) T4 WHERE@CODE IS NOT NULL ) T2,sys_region T3
WHERET2._code = T3.CODE
ORDER BY level_;

Mysql递归调用,报错:Subquery returns more than 1 row相关推荐

  1. Subquery returns more than 1 row

    在mysql中做查询时 爆错 Subquery returns more than 1 row 百度了一下大概是子查询时返回来多行数据,基本上解决方案如出一辙 达不到我想要的效果 百度解决方案 一般为 ...

  2. mysql错误:Subquery returns more than 1 row

    mysql错误:Subquery returns more than 1 row Mysql报错 基于两个表信息 解决方案: 方案一:limit 1 方案二:group_concat() 方案三: a ...

  3. mysql return more than 1 row_关于mysql错误:Subquery returns more than 1 row

    [包含图片] mysql报错:SQLSTATE[21000]: Cardinality violation: 1242 Subquery returns more than 1 row 错误的意思是指 ...

  4. kettle使用mysql作为资源库报错 创建资源库时只有25张表,原本应该46张表。

    kettle使用mysql作为资源库报错 创建资源库时只有25张表,原本应该46张表. 连用户表都没有 ,导致连 默认的 admin和guest都无法登陆自己的资源库!!!! 问题是 SQL语句里边使 ...

  5. mysql错误消息1_MySQL出错信息: Subquery returns more than 1 row及其解决方法

    - 问题: 查询当"课程" 等于子查询里面的课程信息 - 出错指令: [Err] 1242 - Subquery returns more than 1 row 开始出错时的SQL ...

  6. IDEA 配置连接数据库报错 Server returns invalid timezone. Need to set ‘serverTimezone‘ property.

    项目场景: 提示:使用IDEA连接数据库: 问题描述 提示:IDEA 配置连接数据库报错 Server returns invalid timezone. Need to set 'serverTim ...

  7. mysql安装教程博音网_RTSP视频平台EasyNVR使用mysql数据源启动报错unknow drivermysql优化...

    原标题:RTSP视频平台EasyNVR使用mysql数据源启动报错unknow driver"mysql"优化 我们上一篇讲了TSINGSEE青犀视频开发的视频平台默认都是使用的s ...

  8. mysql表恢复报错binlog_mysql数据恢复,利用binlog2sql快速闪回

    一.环境设置 1.mysql配置中首先要开启binlog,如没开启,在my.conf 下配置如下参数: server-id = 1 log_bin = /var/log/mysql/mysql-bin ...

  9. mysql source导入报错ERROR 1366的解决方法

    mysql source导入报错ERROR 1366的解决方法 参考文章: (1)mysql source导入报错ERROR 1366的解决方法 (2)https://www.cnblogs.com/ ...

最新文章

  1. highcharts 绘制图标的JAVASCRIPT 类库 收藏
  2. Test435678
  3. Linux系统编程(一)
  4. t–sql pl–sql_糟糕SQL查询设计– SQL查询性能的杀手–基本知识
  5. Fedora Linux基本配置
  6. Apache 模块 mod_cache应用
  7. OpenCms8.5 安装
  8. Gerry-自定义报表组件
  9. mac 剪切移动文件
  10. 官网稳定版微信小程序下载地址
  11. Charles 使用总结
  12. 天融信AlphaFuzzer测试工具 使用教程
  13. 手机号号码段及js验证
  14. html贝塞尔曲线在线,贝塞尔曲线的一些事情_html/css_WEB-ITnose
  15. IOS 一些小知识点整理
  16. CSS特效 操作方法
  17. 【Python 爬虫教程】付费代理IP与免费代理IP的区别是什么
  18. 红米k30鸿蒙系统,带你了解,红米K30至尊纪念版,强悍的拍照配置
  19. 详解|一级建造师考试报名流程有哪些?
  20. 照片日历制作软件服务器端,#原创新人#99%完美的全平台日历解决方案

热门文章

  1. java毕业设计旧物置换网站mybatis+源码+调试部署+系统+数据库+lw
  2. uClinux 内核编译常见错误及解决方法(zt)
  3. C语言小程序——调用系统应用
  4. 远程连接oracle01017,連接Oracle遠程數據庫錯誤:ORA-12541,ORA-12514,ORA-01017的解決方法!...
  5. 【百度网盘安装不了怎么办】
  6. ubuntu 安装 Qt5
  7. 原来阿里级别是这么定的。。。
  8. python教程菜鸟教程学习路线
  9. OpenHarmony之系统功能框架分析
  10. 64位和32位JDK 1.8下载和环境变量配置