想必各位在开发过程当中必定使用过:统计的功能,用到了不少SQL的函数,因而就直接写在Mapper文件中了;java
好比:mysql
member_num,MAX(ID) AS newestLoanID,MIN (ID) AS earlyLoanID,SUM(applied_amount) AS sumLoansAmount,status
select spring
member_num,MAX(ID) AS newestLoanID,MIN (ID) AS earlyLoanID,SUM(applied_amount) AS sumLoansAmount,status
from credit_loan_record ......sql
看似没有啥问题;app
执行的时候报错了!函数
java.lang.RuntimeException: org.springframework.jdbc.BadSqlGrammarException: 工具
### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: FUNCTION credit_center.MIN does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual优化
因而拿到mysql的客户端工具来执行!一样的错误!!spa
那么可想而知,真的是SQL的问题了,因而咱们美化一下SQL开发
SELECT
member_num,
MAX( ID ) AS newestLoanID,
MIN( ID ) AS earlyLoanID,
SUM( applied_amount ) AS sumLoansAmount,
STATUS
FROM
credit_loan_record
WHERE
member_num = 18810875228
AND deleted = 0
居然经过了!!!
等等!好像异常里面有提示! FUNCTION credit_center.MIN does not exist.
MIN (ID) AS earlyLoanID ——居然有空格
优化以后:MIN( ID ) AS earlyLoanID,
而后就不报错!
因此,若是之后提示:FUNCTION XXXXX.MIN does not exist.时候,记得看看是否是有空格啊!或者写的不够严谨