mysql查询报错Subqueryreturnsmorethan1row

子查询的结果表示有多于一行。

WHERE(SELECTcc.ip

=_ip.start_ip使用这个条件;(SELECT...)只能有1个结果;太多“子查询超过1行”

解决方案:在子查询的条件语句末尾添加limit1。

例如SQL语句select*fromtable1wheretable1.columns=(selectcolumnsfromtable2);

1.如果你反复写,删除冗余数据。
然后写的时候您可以添加逻辑参数(php)或外键(mysql)以防止重复数据。

2.添加约束1,找到符合条件的语句

select*fromtable1wheretable1.columns=(selectcolumnsfromtable2limit1);

3、加起来子查询之前的任何约束关键字

select*fromtable1wheretable1.colums=any(selectcolumnsfromtable2);

更多信息:

解决方案提示

太一个类有多个子查询所以现在你知道了根据错误信息可以在对应的mapper.xml文件的sql语句中找到错误。
首先:

SELECT''ASbugID,A.`SUMMARY`AS`describe`,

(SELECTCONCAT(last_name,first_name)FROMcwd_userWHEREuser_name=A.`ASSIGNEE`)ASliablePerson,

(SELECTCONCAT(姓氏,名字)FROMcwd_userWHEREuser_name=A.`REPORTER`)AStestLiablePerson,

c.`pname`AS`status`,

(SELECTemail_addressFROMcwd_userWHEREuser_name=A.`REPORTER`)ASemailAddressTest,

(SELECTemail_addressFROMcwd_userWHEREuser_name=A.`REPORTER`).`ASSIGNEE`)ASEmailAddressDev

来自`jiraissue`a、projectb、issuestatusc

其中

a.`项目CT`=b.`ID`ANDa.`issuestatus`=c.`ID`

ANDa.issuenum=#{bugID,jdbcType=VARCHAR}

ANDb.`pkey`=#{projectName,jdbcType=VARCHAR}

可以看到这里有四个子查询;然后将选中的条件改为*即可找到你想要的。
得到结果后,受托人和记者根据结果​​,根据错误情况发现第二项是重复的,因此在所有四种情况下都对这个问题进行了优化,并添加了约束。
使用子查询。
第一个结果就足够了。

MYSQL多表查询更新提示#1242-Subqueryreturnsmorethan1row怎么解决

括号中的子查询将要求多个满足条件的uid。
uid字段不能输入member表中的多个值