mysql有if选择更新_使用if和max更新mysql

我已经提交了默认为空的strp_aa。提交的strp_-a a只应在其为null且MAX strp_-aa+1时更新,如果其不为null且已具有数字,则应保持不变。

代码的简短版本是

UPDATE STRANKEP

SET strp_aa = IF(strp_aa=null, strp_aa+1, strp_aa)

WHERE strp_ID=36;

也很累

UPDATE STRANKEP

SET strp_aa = IF(strp_aa=null, (SELECT MAX(strp_aa)) +1, (SELECT (strp_aa) WHERE strp_ID=36)

WHERE strp_ID=36;

UPDATE STRANKEP

SET strp_aa = CASE WHEN strp_aa = NULL THEN MAX(strp_aa) + 1 ELSE strp_aa END

WHERE strp_ID = 36;

UPDATE STRANKEP

SET strp_aa = IF((SELECT strp_aa )!=null,((SELECT selected_value2 FROM (SELECT (strp_aa) AS selected_value2 FROM STRANKEP WHERE strp_ID=36) AS sub_selected_value2)), ((SELECT selected_value FROM (SELECT MAX(strp_aa) AS selected_value FROM STRANKEP) AS sub_selected_value) + 1) )

WHERE strp_ID=36;

这只是不断添加一个,即使有一个数字设置在strp_a。。。

我不知道还能尝试什么。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值