mysql错误:Subquery returns more than 1 row
mysql错误:Subquery returns more than 1 row
- Mysql报错
- 基于两个表信息
- 解决方案:
- 方案一:limit 1
- 方案二:group_concat()
- 方案三: any和some
- 参考例子
Mysql报错
Mysql报错:1242 - Subquery returns more than 1 row
错误的意思是指子查询结果多于一行。报错如下:
mysql> select name from tb_students_info-> where dept_id=-> (select dept_id-> from tb_departments-> where dept_name='Computer');
1242 - Subquery returns more than 1 row
基于两个表信息
mysql> select * from tb_departments;
+---------+-----------+-----------+
| dept_id | dept_name | dept_type |
+---------+-----------+-----------+
| 1 | Computer | A |
| 2 | Chinese | B |
| 3 | Math | A |
| 4 | Computer | A |
| 5 | Computer | A |
| 6 | Math | B |
| 7 | Economy | C |
| 8 | Chinese | B |
| 9 | Economy | A |
| 10 | History | B |
| 11 | Economy | A |
+---------+-----------+-----------+
11 rows in setmysql> select * from tb_students_info;
+---------+--------+-----+-----+--------+---------------------+
| dept_id | name | age | sex | height | login_data |
+---------+--------+-----+-----+--------+---------------------+
| 1 | Dany | 1 | F | 160 | 2015-09-10 00:00:00 |
| 2 | Green | 3 | F | 150 | 2015-10-22 00:00:00 |
| 3 | Henry | 4 | M | 166 | 2015-05-31 00:00:00 |
| 4 | Jane | 5 | F | 124 | 2015-01-15 00:00:00 |
| 5 | Jim | 2 | M | 145 | 2015-03-20 00:00:00 |
| 6 | John | 23 | M | 156 | 2015-04-01 00:00:00 |
| 7 | Lily | 2 | F | 171 | 2015-05-07 00:00:00 |
| 8 | Susan | 4 | F | 182 | 2015-06-10 00:00:00 |
| 9 | Thomas | 3 | M | 196 | 2015-07-05 00:00:00 |
| 10 | Tom | 4 | M | 201 | 2015-08-23 00:00:00 |
+---------+--------+-----+-----+--------+---------------------+
解决方案:
方案一:limit 1
mysql> select name from tb_students_infowhere dept_id =(select dept_idfrom tb_departmentswhere dept_name='Computer' limit 1
);
+------+
| name |
+------+
| Dany |
+------+
1 row in set
但对于多行需求,仍不满足需求。
方案二:group_concat()
mysql> select name from tb_students_infowhere dept_id =
(select group_concat(dept_id)from tb_departmentswhere dept_name='Computer'
);
+------+
| name |
+------+
| Dany |
+------+
1 row in setmysql> select group_concat(dept_id)from tb_departmentswhere dept_name='Computer';
+-----------------------+
| group_concat(dept_id) |
+-----------------------+
| 1,4,5 |
+-----------------------+
1 row in set
显示结果:还只是一个。不满足需求。
报错注入遇到ERROR 1242 (21000): Subquery returns more than 1 row解决方案
http://www.bubuko.com/infodetail-2690543.html?
方案三: any和some
- SOME相当于ANY的别名
- //ANY
select name from tb_students_infowhere dept_id =any
(select dept_idfrom tb_departmentswhere dept_name='Computer'
);
+------+
| name |
+------+
| Dany |
| Jane |
| Jim |
+------+
3 rows in set//SOME
select name from tb_students_infowhere dept_id =some
(select dept_idfrom tb_departmentswhere dept_name='Computer'
);
+------+
| name |
+------+
| Dany |
| Jane |
| Jim |
+------+
3 rows in set
经测试,方案三 any和some方式,与本次开发需要符合。
参考例子
MySQL出错信息: Subquery returns more than 1 row及其解决方法
https://www.cnblogs.com/dmcs95/p/10777013.html
关于mysql错误:Subquery returns more than 1 row
https://blog.csdn.net/ly_dengle/article/details/78028166
mysql错误:Subquery returns more than 1 row相关推荐
- 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 错误的意思是指 ...
- mysql错误消息1_MySQL出错信息: Subquery returns more than 1 row及其解决方法
- 问题: 查询当"课程" 等于子查询里面的课程信息 - 出错指令: [Err] 1242 - Subquery returns more than 1 row 开始出错时的SQL ...
- Mysql递归调用,报错:Subquery returns more than 1 row
在学习Mysql递归调用中,编写的 递归SQL 在 Navicat 中运行正常,但在 Java项目中 mapper.xml 文件中确报错:Subquery returns more than 1 ro ...
- Mysql ERROR 1242 (21000): Subquery returns more than 1 row
mysql> select count(*) from t1 where t1.id = (select t2.id from t2); ERROR 1242 (21000): Subquery ...
- 出现java.sql.SQLException: Subquery returns more than 1 row错误的原因,解决方法
今天在使用嵌套查询语句时出现这个错误,也很好解决,在这里记录一下. 例如这个语句: <select id="findSongBySheetId" resultType=&qu ...
- 数据库常见问题汇总Subquery returns more than 1 row
数据库常见问题汇总: 1.错误:Subquery returns more than 1 row 的解决办法 以MySQL为例: 1.错误:Subquery returns more than 1 r ...
- single-row subquery returns more than one row
错误描述:single-row subquery returns more than one row 原因: 子查询可能查到两个或以上的相同数据 解决方案:加一个distinct,效果:去重 (仅自己 ...
- java.sql.SQLException: Subquery returns more than 1 row
java.sql.SQLException: Subquery returns more than 1 row错误:你的子查询中返回了多条数据 一.场景:子查询出现多个 结果: 二.解决方法 在重复写 ...
- Subquery returns more than 1 row
在mysql中做查询时 爆错 Subquery returns more than 1 row 百度了一下大概是子查询时返回来多行数据,基本上解决方案如出一辙 达不到我想要的效果 百度解决方案 一般为 ...
最新文章
- Blog 081018
- super icon
- 2016/7/29作业
- SpringBoot-SpringCloud-版本对应关系
- 适用于ps的Raw格式图像插件:AdobeCamera Raw13 Mac中文版
- Arcgis for js开发之直线、圆、箭头、多边形、集结地等绘制方法
- 【转载】关系型数据库设计范式
- vuex mutations_Vuex 的基本知识总结
- 牛客网暑期ACM多校训练营(第三场) J Distance to Work 计算几何求圆与多边形相交面积模板...
- 深度学习2.0-38.RNNCell使用-RNN Layer
- 全网首发:Could NOT find JNI (missing: JAVA_AWT_INCLUDE_PATH) 解决办法
- LINUX下载编译libav
- 360浏览器html在哪儿,360浏览器的收藏夹在哪_如何找到360浏览器收藏夹路径位置...
- Systrace 响应速度实战 1 :了解响应速度原理
- 如何下载风云卫星数据?
- TSL1.0升级到TSL1.2遇到的问题
- 题解 UVA1449 【Dominating Patterns】
- 获取电信光猫超级密码 获取宽带账号密码 获取公网ip
- Android 仿京东淘宝多规格选择
- 学历对做软件测试的影响
热门文章
- ...mapMutations的使用
- linux搭建DNS域名解析服务
- 部署LNMP并利用LNMP搭建wordpress论坛
- 联想小新一键恢复小孔_联想小新笔记本如何一键恢复出厂设置_联想小新air恢复出厂设置教程...
- 践行数字化工厂,用友网络助力宝舜实现智能制造
- 一年卖出20.4亿颗图像传感器,这家公司上市首日股价大涨145%
- 计算机知识竞赛策划案,计算机知识竞赛策划书范文
- python中什么是一个无序的不重复元素序列_无序Python集的“顺序”
- 世界危机四伏 难道2012真的存在
- 预推免的内耗---还好上岸了,要不就淹死了