数字类型字段无法置空

Bug 未结 1 848
大白菜
大白菜 2021-07-01 11:38

一、该问题的重现步骤是什么?

  1. MySQL数据库表中,有一数据类型为int的字段,当该字段有值时,我从前端界面将其清除

    image.png

    后端接收数据正常为null

    image.png

    但是执行saveOrUpdate方法后,在数据库中,该值并没有发生变化,修改为其他值是则正常

    image.png

2. 

3.


二、你期待的结果是什么?实际看到的又是什么?

    期待结果是数据库表字段正常置空,实际看到的是改字段值没变化


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

    bladex 2.8.1 ,windows10

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  3395733618
    3395733618 (楼主)
    2021-07-01 14:35

    mybatis-plus生成的方法,属性值为null,是忽略更新的。

    如果你想将null更新到数据库,可以使用

    LambdaUpdateWrapper lambdaUpdateWrapper = Wrappers.lambdaUpdate()
    .set(Column::getMaxCols,null)
    //...其他字段
    .eq(Column::getId,id);
    
    columnService.update(lambdaUpdateWrapper);


    0 讨论(0)
提交回复