数据库执行新增时,字段写值错乱/字段值写反了 的问题

今天给表加了个字段,执行新增后查看表,发现数据库执行新增完成后,字段写值错乱了,表现为这两个字段的值写反了↓↓↓↓↓↓

排查了xml中所有赋值的地方,全都没有问题

字段与属性的通用映射:
<resultMap type="MineEnterprise" id="MineEnterpriseResult">
        <result property="ids"    column="ids"    />
        <result property="sheng_name"    column="sheng_name"    />
通用查询SQL:
<sql id="selectMineEnterpriseVo">
    select id,ids, sheng_name, .....
<sql>

以及查询List、查询ById、修改等SQL都没问题;

但是这里注意看一下insert SQL:

insert SQL:
<insert id="insertXXX" parameterType="MineEnterprise">
    insert into XXX表名
    <trim prefix="(" suffix=")" suffixOverrides=",">
        <if test="id != null">id,</if>
6       <if test="sheng_name != null">sheng_name,</if>
7       <iftest="ids!= null">ids,</if> 
.
.
.

     </trim>

    <trim prefix="values (" suffix=")" suffixOverrides=",">
        <if test="id != null">#{id},</if>
21       <if test="ids!= null">#{ids},</if>
22       <if test="sheng_name!= null">#{sheng_name},</if>

.
.
.
     </trim>

</insert>

</trim><trim >标签里面这两个字段的insert列出的字段6,7行21,22行映射顺序对比是反的,这就导致了映射顺序反了,因为上面生成的SQL是:

insert  into  XXX表名  (  id ,sheng_name ids...... )values(  id ,idssheng_name ...... )

所以,赋值的时候就

把 sheng_name的值赋值给了ids.

把 ids的值赋值给了sheng_name

所以说在这次进行错误的insert后,再继续执行新增,就会出现SQL主键唯一写表失败的异常↓↓↓↓↓↓↓↓

将顺序保持一致后,insert进数据就正常了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值