mysql update语句

以前只知道修改语句这么写: update student set age=20 where id=1

现在,知道可以有另一种写法: update student set age=age+1------>这样会使原来的年龄加一.

当需要批量修改的时候,以前都是修改一条,跑一次数据库,因为条件和结果不知道如何在语句中匹配起来,现在有了新的方法:

<update id="updateQuantityByBuyer" parameterType="map">
  update product
    set stock = CASE id 
	    <foreach collection="list" separator="" item="bean">
	  		when #{bean.id}  then stock+#{bean.stock}
	    </foreach>
    END
where id in 
(
<foreach collection="list" separator="," item="bean">
  		${bean.id}
</foreach>
)
</update>

//这是mybaties中进行批量修改库存(根据id,在原有的库存上进行增加)

这样子,一条修改语句就可以了.

当类型是String的时候:

update student
	set hoppy=CONCAT(hoppy,#{newHoppy})
where id=#{id}

例如原来的hoppy为"打篮球",你传入的 newHoppy为 ",看电影" ,那最后,hoppy 就为  "打篮球,看电影"

 

 

 

 

转载于:https://my.oschina.net/u/2611757/blog/729392

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值