mybatis出现column "xxx" does not exist怎么解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis出现column "xxx" does not exist怎么解决相关的知识,希望对你有一定的参考价值。
参考技术A 你好!column "xxx" does not exist
列“xxx”并不存在
mybatis Column 'XXX' in where clause is ambiguous 错误
- 触发场景
多表联合查询的时候,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" does not exist怎么解决的主要内容,如果未能解决你的问题,请参考以下文章
mybatis Column 'XXX' in where clause is ambiguous 错误
Mybatis Error attempting to get column 'xxx' from result set. Cause: java.sql.SQLDataExcepti
Mybatis Error attempting to get column 'xxx' from result set. Cause: java.sql.SQLDataExcepti