https://www.cnblogs.com/ldj3/p/9288187.html

 

批量更改 update

 

一般的方式

 

<update >
UPDATE jo_table  
SET product_number = #{obj.subNum}
WHERE
club_id = #{obj.clubId}
AND product_sn =#{obj.goodsSn}
</foreach>
</update>
一条记录update一次,这样性能很差。


一句sql,性能更佳的方式:CASE WHEN THEN ELSE

  <update >
      #{obj.id}
    </foreach>
  </update>

记住一定要加上 else 的情况,如果不加的话,当when条件不符合时,会导致你要修改的字段被置空,是很危险的。


其次,如果是多个字段更新:
<update ></update>


另外:
如果是要多个条件的话,可以拼接的方式来判断:

如:

update jo_table  set number
CASE concat(字段1,字段2)

<foreach collection="list" item="obj" separator=";">
WHEN concat(#{obj.字段1},#{obj.字段2}) THEN #{obj.number}
</foreach>
ELSE number
END








 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-21
  • 2022-12-23
  • 2022-12-23
  • 2021-06-08
  • 2022-12-23
  • 2021-11-18
猜你喜欢
  • 2021-09-03
  • 2022-12-23
  • 2022-12-23
  • 2021-11-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案