• MySQL 报错:Translating SQLException with SQL state '42000', error code '1064', message


    MySQL报错详细日志

     1 2019-09-12 16:42:29 [http-nio-80-exec-25] DEBUG [org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator:399] - Translating SQLException with SQL state '42000', error code '1064', message [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''10'' at line 9]; SQL was [] for task [
     2 ### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''10'' at line 9
     3 ### The error may exist in com/xxx/insurance/dao/mapper/insurUser.xml
     4 ### The error may involve insurUser.getPolicyList-Inline
     5 ### The error occurred while setting parameters
     6 ### SQL: SELECT pii.SERIAL_NO, pii.POLICY_NUM, pii.INSUR_PRODUCT_NUM, pii.INSUR_AMOUNT, pii.STATUS, pii.TOOTH_POSITION,      hui.HOLDER_USER_NAME userName, hui.CREATE_TIME holderTime    FROM patient_insurance_info pii    LEFT JOIN patient_detail pd ON pii.PID = pd.PID    LEFT JOIN holder_user_info hui ON pd.HOLDER_ID = hui.HOLDER_ID   WHERE 1=1     AND pd.CLCODE=?        limit ?,?
     7 ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''10'' at line 9
     8 ]
     9 2019-09-12 16:42:29 [http-nio-80-exec-25] DEBUG [org.mybatis.spring.SqlSessionUtils:287] - Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3a52c61e]
    10 2019-09-12 16:42:29 [http-nio-80-exec-25] DEBUG [org.mybatis.spring.SqlSessionUtils:292] - Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3a52c61e]
    11 2019-09-12 16:42:29 [http-nio-80-exec-25] DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager:843] - Initiating transaction rollback
    12 2019-09-12 16:42:29 [http-nio-80-exec-25] DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager:279] - Rolling back JDBC transaction on Connection [jdbc:mysql://127.0.0.1:3306/chubb_2?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true, UserName=root@localhost, MySQL-AB JDBC Driver]
    13 2019-09-12 16:42:29 [http-nio-80-exec-25] DEBUG [org.springframework.jdbc.datasource.DataSourceUtils:222] - Resetting read-only flag of JDBC Connection [jdbc:mysql://127.0.0.1:3306/chubb_2?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true, UserName=root@localhost, MySQL-AB JDBC Driver]
    14 2019-09-12 16:42:29 [http-nio-80-exec-25] DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager:322] - Releasing JDBC Connection [jdbc:mysql://127.0.0.1:3306/chubb_2?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true, UserName=root@localhost, MySQL-AB JDBC Driver] after transaction
    15 2019-09-12 16:42:29 [http-nio-80-exec-25] DEBUG [org.springframework.jdbc.datasource.DataSourceUtils:332] - Returning JDBC Connection to DataSource
    16 2019-09-12 16:42:29 [http-nio-80-exec-25] WARN  [org.springframework.remoting.support.RemoteInvocationTraceInterceptor:87] - Processing of HessianServiceExporter remote call resulted in fatal exception: com.xxx.insurance.control.InsurFacade.getPolicyList
    17 org.springframework.jdbc.BadSqlGrammarException: 
    18 ### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''10'' at line 9
    19 ### The error may exist in com/xxx/insurance/dao/mapper/insurUser.xml
    20 ### The error may involve insurUser.getPolicyList-Inline
    21 ### The error occurred while setting parameters
    22 ### SQL: SELECT pii.SERIAL_NO, pii.POLICY_NUM, pii.INSUR_PRODUCT_NUM, pii.INSUR_AMOUNT, pii.STATUS, pii.TOOTH_POSITION,      hui.HOLDER_USER_NAME userName, hui.CREATE_TIME holderTime    FROM patient_insurance_info pii    LEFT JOIN patient_detail pd ON pii.PID = pd.PID    LEFT JOIN holder_user_info hui ON pd.HOLDER_ID = hui.HOLDER_ID   WHERE 1=1     AND pd.CLCODE=?        limit ?,?
    23 ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''10'' at line 9
    24 ; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''10'' at line 9
    25     at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:233)
    26     at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
    27     at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
    28     at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:371)
    29     at com.sun.proxy.$Proxy63.selectList(Unknown Source)
    30     at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:198)
    31     at com.xxx.insurance.dao.impl.InsurUserDAOImpl.getPolicyList(InsurUserDAOImpl.java:794)
    32     at com.xxx.insurance.service.impl.MccInsurServiceImpl.getPolicyList(MccInsurServiceImpl.java:625)
    33     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    34     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    35     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    36     at java.lang.reflect.Method.invoke(Method.java:498)
    37     at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    38     at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    39     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    40     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    41     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    42     at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
    43     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    44     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    45     at com.sun.proxy.$Proxy67.getPolicyList(Unknown Source)
    46     at com.xxx.insurance.control.InsurFacadeImpl.getPolicyList(InsurFacadeImpl.java:1283)
    47     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    48     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    49     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    50     at java.lang.reflect.Method.invoke(Method.java:498)
    51     at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    52     at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    53     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    54     at org.springframework.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:77)
    55     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    56     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    57     at com.sun.proxy.$Proxy96.getPolicyList(Unknown Source)
    58     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    59     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    60     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    61     at java.lang.reflect.Method.invoke(Method.java:498)
    62     at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:302)
    63     at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:217)
    64     at org.springframework.remoting.caucho.HessianExporter.doInvoke(HessianExporter.java:198)
    65     at org.springframework.remoting.caucho.HessianExporter.invoke(HessianExporter.java:118)
    66     at org.springframework.remoting.caucho.HessianServiceExporter.handleRequest(HessianServiceExporter.java:66)
    67     at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
    68     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    69     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    70     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
    71     at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
    72     at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    73     at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    74     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    75     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    76     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    77     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    78     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    79     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    80     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    81     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    82     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    83     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    84     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    85     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    86     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)
    87     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)
    88     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)
    89     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
    90     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
    91     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    92     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    93     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    94     at java.lang.Thread.run(Thread.java:745)

    执行的 SQL:

     1 <select id="getPolicyList" parameterType="map" resultType="java.util.HashMap">
     2     SELECT pii.SERIAL_NO, pii.POLICY_NUM, pii.INSUR_PRODUCT_NUM, pii.INSUR_AMOUNT, pii.STATUS, pii.TOOTH_POSITION,
     3                 hui.HOLDER_USER_NAME userName, hui.CREATE_TIME holderTime
     4         FROM patient_insurance_info pii
     5         LEFT JOIN patient_detail pd ON pii.PID = pd.PID
     6         LEFT JOIN holder_user_info hui ON pd.HOLDER_ID = hui.HOLDER_ID
     7     WHERE 1=1
     8             AND pd.CLCODE=#{clCode}
     9     <if test="currentPageNum!=null">
    10         limit #{currentPageNum},#{pageSize}
    11     </if>
    12 </select>

    报错原因:

    传入到 mybatis 的 参数类型为 Map paramMap ,但是在 Controller 层只是将 currentPageNum 转为了整数类型,没有将 pageSize 转为整数类型,pageSize 默认值为 10,所以才会在上面的报错信息第一行中出现如下信息:

    Translating SQLException with SQL state '42000', error code '1064', message [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''10'' at line 9]

    MySQL 的 limit 后面必须要传两个整数,否者就会报这个错。

    解决方案:

    将 currentPageNum 和 pageSize 转为整数传入。

    PS:还有可能是其他问题导致出现相同 error code '1064' 错误,可以参照上面出现这个错误的原因。

  • 相关阅读:
    IO多路复用--epoll(待学习)
    网络信息检索
    TCP协议的客户端与服务器的通信过程
    UDP网络编程
    HDU_oj_2017 字符串统计
    HDU_oj_2016 数据的交换输出
    HDU_oj_2015 偶数求和
    HDU_oj_2014 评委会打分
    HDU_oj_2013 蟠桃记
    HDU_oj_2012 素数判定
  • 原文地址:https://www.cnblogs.com/poterliu/p/11512667.html
Copyright © 2020-2023  润新知