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。。。

我不知道还能尝试什么。


版权声明:本文为weixin_35823536原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。