后台报错:
org.springframework.jdbc.UncategorizedSQLException: ### Error querying database. Cause: java.sql.SQLException: sql injection violation, syntax error: ERROR.
问题描述
这种错误信息基本都是jdbc在编译SQL语句时出了问题,换句话说就是SQL语句出现了问题。而我将SQL语句拿到数据库插件中执行是正常的。一直定位不到问题在哪里。
原因分析:
1.框架给所需要执行的语句拼接了多余的东西
2.SLQ中存在有特殊意义的列名
3.就是SQL不对,放到插件运行也不对…
第一种问题就是有可能JAVA代码给SQL拼接了一个"limit"导致SQL语句报错。
第二种问题就是很“直接明显”的问题了,但这个问题在插件中很可能表现不出来,因为插件在编译SQL的时候可能会将列名再处理一次(让其是特殊名称时依旧当成列名处理)
解决方案:
用手解决