首页 > Java > java教程 > 正文

MySQL插入语句报错:如何解决SQL语法错误“You have an error in your SQL syntax”?

聖光之護
发布: 2024-12-02 10:21:19
原创
559人浏览过

mysql插入语句报错:如何解决sql语法错误“you have an error in your sql syntax”?

sql insert语法报错

问题:

插入语句一直报错,提示sql语法错误:“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 ')values( 'hello' at line 11”。

调用方法:

public int insertpncode(pnmodelinoutinventory pnmodelinoutinventory) {
    return pnmapperruku.insertpnassertrukudetails(pnmodelinoutinventory);
}
登录后复制

mapper.xml中代码:

<insert id="insertpnassertrukudetails" parametertype="com.ruoyi.system.domain.pnmodelinoutinventory">
    insert into pnassertrukudetails (
        <if test="parentpnassertrukuid != null and parentpnassertrukuid != '' ">parent_pnassertruku_id,</if>
        <if test="materialinformation != null and materialinformation != '' ">materialinformation,</if>
        <if test="numbersruku != null and numbersruku != '' ">numbersruku,</if>
        <if test="qualified != null and qualified != '' ">qualified,</if>
        <if test="unit != null and unit != '' ">unit,</if>
        <if test="storageroom != null and storageroom != ''">storageroom,</if>
        <if test="sn != null and sn != ''">sn,</if>
        <if test="remark != null and remark != ''">remark,</if>
        <if test="batchnumber != null and batchnumber != ''">batchnumber,</if>
    )values(
        <if test="parentpnassertrukuid != null and parentpnassertrukuid != '' ">#{parentpnassertrukuid},</if>
        <if test="materialinformation != null and materialinformation != '' ">#{materialinformation},</if>
        <if test="numbersruku != null and numbersruku != '' ">#{numbersruku},</if>
        <if test="qualified != null and qualified != '' ">#{qualified},</if>
        <if test="unit != null and unit != '' ">#{unit},</if>
        <if test="storageroom != null and storageroom != ''">#{storageroom},</if>
        <if test="sn != null and sn != ''">#{sn},</if>
        <if test="remark != null and remark != ''">#{remark},</if>
        <if test="batchnumber != null and batchnumber != ''">#{batchnumber},</if>
    )
</insert>
登录后复制

问题分析:

错误提示中的“' )values( 'hello'”表明语法错误发生在插入语句中的值列表部分。仔细对比了上述mapper.xml代码,发现各个字段名和参数占位符之间存在多余的逗号。

修改:

移除多余的逗号,如下:

<insert id="insertPnAssertRukuDetails" parameterType="com.ruoyi.system.domain.PnModelInOutInventory">
    insert into pnAssertRukuDetails (
        <if test="parentPnAssertRukuId != null and parentPnAssertRukuId != '' ">parent_pnAssertRuku_id</if>
        <if test="materialInformation != null and materialInformation != '' ">materialInformation</if>
        <if test="numbersRuKu != null and numbersRuKu != '' ">numbersRuKu</if>
        <if test="qualified != null and qualified != '' ">qualified</if>
        <if test="unit != null and unit != '' ">unit</if>
        <if test="storageRoom != null and storageRoom != ''">storageRoom</if>
        <if test="sn != null and sn != ''">sn</if>
        <if test="remark != null and remark != ''">remark</if>
        <if test="batchNumber != null and batchNumber != ''">batchNumber</if>
    )values(
        <if test="parentPnAssertRukuId != null and parentPnAssertRukuId != '' ">#{parentPnAssertRukuId}</if>
        <if test="materialInformation != null and materialInformation != '' ">#{materialInformation}</if>
        <if test="numbersRuKu != null and numbersRuKu != '' ">#{numbersRuKu}</if>
        <if test="qualified != null and qualified != '' ">#{qualified}</if>
        <if test="unit != null and unit != '' ">#{unit}</if>
        <if test="storageRoom != null and storageRoom != ''">#{storageRoom}</if>
        <if test="sn != null and sn != ''">#{sn}</if>
        <if test="remark != null and remark != ''">#{remark}</if>
        <if test="batchNumber != null and batchNumber != ''">#{batchNumber}</if>
    )
</insert>
登录后复制

以上就是MySQL插入语句报错:如何解决SQL语法错误“You have an error in your SQL syntax”?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号