sql server 插入数据报错_建表字段使用了关键字,插入时sql语句报错

建表字段使用了关键字,插入时sql语句报错

错误描述

5ba2250ca824e81ed4676895e904a823.png

设计的表中有个字段为describe,与SQL中的关键字相同,于是在mybatiscodehelper自动生成的sql语句中没有对其做针对处理的时候

<update id="updateById">
    update activity_event
    <set>
      <if test="updated.id != null">
        id = #{updated.id,jdbcType=BIGINT},
      </if>
      <if test="updated.title != null">
        title = #{updated.title,jdbcType=VARCHAR},
      </if>
      <if test="updated.pic != null">
        pic = #{updated.pic,jdbcType=VARCHAR},
      </if>
      <if test="updated.describe != null">
        describe = #{updated.describe,jdbcType=VARCHAR},
      </if>
      <if test="updated.joinNums != null">
        join_nums = #{updated.joinNums,jdbcType=INTEGER},
      </if>
      <if test="updated.app != null">
        app = #{updated.app,jdbcType=INTEGER},
      </if>
      <if test="updated.startTime != null">
        start_time = #{updated.startTime,jdbcType=DATE},
      </if>
      <if test="updated.endTime != null">
        end_time = #{updated.endTime,jdbcType=DATE},
      </if>
      <if test="updated.createTime != null">
        create_time = #{updated.createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="updated.updateTime != null">
        update_time = #{updated.updateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="updated.isEnable != null">
        is_enable = #{updated.isEnable,jdbcType=INTEGER},
      </if>
    </set>
    where id=#{id,jdbcType=BIGINT}
  </update>

就会报错,错误如下

### The error may exist in file [D:codeactivitycloud-service-activitytargetclassesmapperActivityEventMapper.xml]
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: update activity_event      set id = ?,                       title = ?,                       pic = ?,                       describe = ?,                       join_nums = ?,                       app = ?,                       start_time = ?,                       end_time = ?,                       create_time = ?,                       update_time = ?,                       is_enable = ?      where id=?
### 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 'describe = 'asdfasdf',      

        join_nums = 1,


      ' at line 11

解决方法

144078767db3a281609b84b03efd1e0b.png

在与关键字一样的字段上加上` `。

设计表时,最好不要用关键字来做字段名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值