mybatis报错SQLException、syntax error、expect IDENTIFIER, actual IDENTIFIER pos

错误信息

以下错误信息显示是语法错误,但是将sql语句放在mysql里面执行却依然能够执行,以下是错误代码:


> Cause: java.sql.SQLException: sql injection violation, syntax error:
> syntax error, error in :'ar u left join zzlc$user_car_file  ', expect
> IDENTIFIER, actual IDENTIFIER pos 45, line 1, column 46, token
> IDENTIFIER null : select u.*,f.uuid  file1 from zzlc$user_car u left
> join zzlc$user_car_file  ucf on u.id=ucf.user_car_id left join
> zzlc$file f on f.id=ucf.file_id where u.id=? ; uncategorized
> SQLException; SQL state [null];

解决方案

给表名加上单引号,即可解决。注意单引号是`而不是’。原因可能是表名中含有$ 字符所以要加上。

 @Select("select * from zzlc$approve_attr where id in (#{idList})")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值