想必各位在開發過程當中必定使用過:統計的功能,用到了不少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.時候,記得看看是否是有空格啊!或者寫的不夠嚴謹