MySQLIntegrityConstraintViolationException


    <select id="getRoleByUserAccount" resultType="sun.lab.domain.Role" parameterType="String">
        select roleId, r.roleName from role r, user u
        where u.roleId = r.roleId and u.userAccount = #{ userAccount };
    </select>

SQL语句报错:
MySQLIntegrityConstraintViolationException: Column ‘roleId’ in field list is ambiguous.

简单来说就是,roleId列属于哪张表是不明确的,需要指定从哪张表中取出roleId,


    <select id="getRoleByUserAccount" resultType="sun.lab.domain.Role" parameterType="String">
        select u.roleId, r.roleName from role r, user u
        where u.roleId = r.roleId and u.userAccount = #{ userAccount };
    </select>

运行通过!