SELECT a.id,
a.user_id AS userId,
a.content, a.status,
a.create_time AS createTime,
a.address,
a.type,
a.people_count AS peopleCount,
a.fee_content AS feeContent,
a.active_time AS activeTime,
a.condition, a.pic,
a.join_count,
c.avatars AS initiatorAvatars,
c.phone AS initiatorPhone,
c.name As initiatorName
FROM t_active a
LEFT JOIN t_join_active b ON a.id = b.active_id
LEFT JOIN t_user c ON a.user_id=c.id
WHERE a.id=?id是主键查询出两条相同的记录。org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2报了这个错。sql复制到数据库中查询,只有一条。请教是什么问题
5 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
是因为你使用了做左关联 如果你的主表(t_active)对应的左关联其他表(t_join_active 、t_user )有;
俩条相关的记录 那么查出来就是俩条记录你可以执行以下sql ,最前面绝对是俩条相同的记录,后面的数据不一样
眼眸繁星
TA贡献1873条经验 获得超9个赞
问题就是那个问题 解决办法有俩种,一个是把你的返回值One改为list 一个是你直接在加一些你的业务条件,让他返回值绝对为一条,limit 1取第一条 你把你的业务数据倒排序取第一条就好了
添加回答
举报
0/150
提交
取消