码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis Column 'XXX' in where clause is ambiguous 错误

时间:2020-03-10 11:34:57      阅读:50      评论:0      收藏:0      [点我收藏+]

标签:联合查询   _id   left join   ati   column   one   查询语句   under   lin   

  • 触发场景

    多表联合查询的时候,2个或多个表内有相同字段名,例如:user表内有字段名user_id,account表内有字段名user_id,那么在user表和account表联合查询的时候where条件如果不指定user_id属于哪个表就会报错。

  • 解决方法

       在联表查询语句中条件字段前面加上对应的表的别名。例如下面这个查询语句:

      select

        u.id,u.user_id,u.user_name,a.user_id,a.money

      from account a left join user u on u.user_id = a.user_id

      where user_id = 1。

  这个语句里如果像上面这种写法就会报如题这个错误:"Column ‘user_id‘ in where clause is ambiguous"。这时只需要给where后面的user_id指定表名就可以了

  写成如下语句:

      select

        u.id,u.user_id,u.user_name,a.user_id,a.money

      from account a left join user u on u.user_id = a.user_id

      where a.user_id = 1。

mybatis Column 'XXX' in where clause is ambiguous 错误

标签:联合查询   _id   left join   ati   column   one   查询语句   under   lin   

原文地址:https://www.cnblogs.com/shm-1255/p/12454436.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!