Mysql报错 Error querying database. Cause: java.sql.SQLSyntaxErrorException.

2年前 (2022) 程序员胖胖胖虎阿
196 0 0

        今天写一个查询功能的时候,出现了一个错误,当我写好后端接口,准备去前端掉用的时候出现了如下错误:

 ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: 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 'LIMIT 10' at line 31 ### The error may exist in file [C:\student\sources\lycp\lycp-server\target\classes\mapper\cpdjtz\ScZcBxzwCpdjTzCxMapper.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT st.dbid, st.jbh, st.xgh_jbh, st.scrwd_id, st.cj_id, st.gzrq, st.pb_id, st.xgq_zl, st.xgq_jc, st.xgq_cpdj, st.xgh_zl, st.xgh_jc, st.xgh_cpdj, st.zljldw, st.xgsj, sb.bzmc, sbxx.bcmc, ry.xm, ry.gh FROM sc_zc_bxzw_cpdj_tz st LEFT JOIN sc_zc_ccp_cz szcc ON st.ccp_cz_id = szcc.dbid LEFT JOIN sc_scrwd ss ON st.scrwd_id = ss.dbid LEFT JOIN rl_yg ry ON st.czr_id = ry.dbid LEFT JOIN sc_zc_pb szp ON st.pb_id = szp.dbid LEFT JOIN sc_bz sb ON st.cj_id = sb.dbid LEFT JOIN sc_bz_sb sbs ON st.cj_gypb_id = sbs.dbid left join sc_bcxx sbxx on szp.bc_id = sbxx.dbid ORDER BY st.xgsj DESC; LIMIT ? ### Cause: java.sql.SQLSyntaxErrorException: 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 'LIMIT 10' at line 31 ; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: 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 'LIMIT 10' at line 31 (第一次写博客,图片一直上传失败,不知道为啥,只能用文字了,谅解一下)

sql语句如下:

SELECT
            st.dbid,
            st.jbh,
            st.xgh_jbh,
            st.scrwd_id,
            st.cj_id,
            st.gzrq,
            st.pb_id,
            st.xgq_zl,
            st.xgq_jc,
            st.xgq_cpdj,
            st.xgh_zl,
            st.xgh_jc,
            st.xgh_cpdj,
            st.zljldw,
            st.xgsj,
            sb.bzmc,
            sbxx.bcmc,
            ry.xm,
            ry.gh
        FROM
            sc_zc_bxzw_cpdj_tz st
        LEFT JOIN sc_zc_ccp_cz szcc ON st.ccp_cz_id = szcc.dbid
        LEFT JOIN sc_scrwd ss ON st.scrwd_id = ss.dbid
        LEFT JOIN rl_yg ry ON st.czr_id = ry.dbid
        LEFT JOIN sc_zc_pb szp ON st.pb_id = szp.dbid
        LEFT JOIN sc_bz sb ON st.cj_id = sb.dbid
        LEFT JOIN sc_bz_sb sbs ON st.cj_gypb_id = sbs.dbid
        LEFT JOIN sc_bcxx sbxx on szp.bc_id = sbxx.dbid
        ORDER BY st.xgsj DESC;

这个问题也是比较头疼,找了很久(关键是这个sql语句在navicat上能运行),最后发现因为我这个项目用到了分页的插件,所以执行的时候后面会自动给我加上分页的sql语句,然而我最后排序那里写了个分号,所以报错了。

解决如下: 将sql语句末尾的分号删除即可解决

最后成功运行,查询到了结果

相关文章

暂无评论

暂无评论...