mysql表字段含关键字执行sql报错的解决方案
问题
mybatisplus+mysql执行sql查询时报以下错误:
line 1:43 no viable alternative at input 'SELECTCOUNT(*)FROM(SELECTid,code,name,key' at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)
at com.sun.proxy.$Proxy123.selectList(Unknown Source)
尝试
1、在sql语句中对关键字字段使用反引号(`)括起来,不起作用
2、在实体类属性注解上,对字段名使用反引号(`)括起来@TableField("`key`"),有效
查询使用了mybatisplus增强语法拼写的sql,没有使用到xml中的语句,所以需要修改实体类上引用的字段名
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
mysql中count(), group by, order by使用详解
mysql中order by 排序查询、asc升序、desc降序,group by 分组查询、having 只能用于group by子句、作用于组内,having条件子句可以直接跟函数表达式。使用group by 子句的查询语句需要使用聚合函数。2017-05-05
解决1093 - You can‘t specify target&n
MySQL 1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,解决方法包括使用临时表、JOIN或EXISTS,避免直接操作表2025-07-07


最新评论