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

117 篇文章 0 订阅
114 篇文章 3 订阅
在尝试执行一个复杂的SQL查询时,遇到了`Error querying database`,原因是SQLSyntaxErrorException,错误提示在'LIMIT 10'附近有语法错误。问题在于项目的分页插件自动添加了分页SQL,而查询语句末尾已有分号导致。解决方案是删除SQL语句末尾的分号。执行修改后的SQL,成功获取了查询结果。
摘要由CSDN通过智能技术生成

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

###Errorqueryingdatabase.Cause:java.sql.SQLSyntaxErrorException:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear’LIMIT10’atline31###Theerrormayexistinfile[C:studentsourceslycplycp-server argetclassesmappercpdjtzScZcBxzwCpdjTzCxMapper.xml]###TheerrormayinvolvedefaultParameterMap###Theerroroccurredwhilesettingparameters###SQL:SELECTst.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.ghFROMsc_zc_bxzw_cpdj_tzstLEFTJOINsc_zc_ccp_czszccONst.ccp_cz_id=szcc.dbidLEFTJOINsc_scrwdssONst.scrwd_id=ss.dbidLEFTJOINrl_ygryONst.czr_id=ry.dbidLEFTJOINsc_zc_pbszpONst.pb_id=szp.dbidLEFTJOINsc_bzsbONst.cj_id=sb.dbidLEFTJOINsc_bz_sbsbsONst.cj_gypb_id=sbs.dbidleftjoinsc_bcxxsbxxonszp.bc_id=sbxx.dbidORDERBYst.xgsjDESC;LIMIT###Cause:java.sql.SQLSyntaxErrorException:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear’LIMIT10’atline31;badSQLgrammar[];nestedexceptionisjava.sql.SQLSyntaxErrorException:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear’LIMIT10’atline31 (第一次写博客,图片一直上传失败,不知道为啥,只能用文字了,谅解一下)

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语句末尾的分号删除即可解决

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值