baomidou / mybatis-plus

An powerful enhanced toolkit of MyBatis for simplify development
https://baomidou.com
Apache License 2.0
16.38k stars 4.31k forks source link

[错误报告]: 乐观锁修改 报语法解析异常 版本 3.5.7 #6504

Open zlx2019 opened 1 month ago

zlx2019 commented 1 month ago

确认

当前程序版本

3.5.7

问题描述

根据乐观锁进行更新数据时,发生了语句解析错误 但是根据自己调试来看 Sql是完全没有问题的

详细堆栈日志

Caused by: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Failed to process, Error SQL: UPDATE sample  SET name=?, age=?, version=?,  update_time=?, status=?  WHERE id=?   AND version=?  AND deleted=0
    at com.baomidou.mybatisplus.core.toolkit.ExceptionUtils.mpe(ExceptionUtils.java:39)
    at com.baomidou.mybatisplus.extension.parser.JsqlParserSupport.parserMulti(JsqlParserSupport.java:73)
    at com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor.beforePrepare(BlockAttackInnerInterceptor.java:61)
    at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:102)
    at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59)
    at jdk.proxy2/jdk.proxy2.$Proxy143.prepare(Unknown Source)
    at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:90)
    at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49)
    at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
    at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:61)
    at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106)
    at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59)
    at jdk.proxy2/jdk.proxy2.$Proxy142.update(Unknown Source)
    at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
    ... 19 more
Caused by: java.util.concurrent.ExecutionException: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "UPDATE" "UPDATE"
    at line 1, column 1.

Was expecting one of:

    "("
    "ANALYZE"
    "CALL"
    "COMMENT"
    "COMMIT"
    "CREATE"
    "DECLARE"
    "DESC"
    "DESCRIBE"
    "DROP"
    "EXEC"
    "EXECUTE"
    "EXPLAIN"
    "GRANT"
    "PURGE"
    "REFRESH"
    "RENAME"
    "RESET"
    "ROLLBACK"
    "SAVEPOINT"
    "SET"
    "SHOW"
    "TABLE"
    "TRUNCATE"
    "USE"
    "VALUE"
    "VALUES"
    "WITH"
    <K_SELECT>
    <ST_SEMICOLON>
zlx2019 commented 1 month ago

没有任何改动,3.5.5版本没有这个问题

nieqiurong commented 5 days ago

sample是关键字了.

net.sf.jsqlparser.parser.CCJSqlParserConstants#tokenImage