- 这个错误in where clause is ambiguous多半是因为多表查询的时候几个表中同时出现了某个相同的列名,而在查询条件WHERE后面又没有指定是那个表,而引起的,又或者是查询结果里面有两个相同的列名,而没有指定是哪个表使用
- 如例子:
<select id="selectUserRoleById" resultMap="userAndRoleMap1"> select r.CREATE_USER, r.STATUS,r.UPDATE_USER, r.VERSION, r.DESCRIPTION, r.NAME,r.ID from t_base_user u INNER JOIN t_base_user_role ur INNER JOIN t_base_role r ON u.ID=ur.USER_ID AND ur.ROLE_ID=r.ID where ID=#{id} </select>
改为:where r.ID=#{id},指定role表的ID。