MySQL:仅在满足条件时更新字段

编程入门 行业动态 更新时间:2024-10-07 04:23:31
本文介绍了MySQL:仅在满足条件时更新字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

是否可以在MySQL中执行UPDATE查询,只有在满足某些条件时才更新字段值?这样的事情:

Is it possible to do an UPDATE query in MySQL which updates field value only if certain condition is met? Something like this:

UPDATE test SET CASE WHEN true THEN field = 1 END WHERE id = 123

换句话说:

UPDATE test SET something = 1, /*field that always gets updated*/ CASE WHEN true THEN field = 1 /*field that should only get updated when condition is met*/ END WHERE id = 123

这样做的正确方法是什么?

What is the proper way to do this?

推荐答案

是的!

这里有另一个例子:

UPDATE prices SET final_price= CASE WHEN currency=1 THEN 0.81*final_price ELSE final_price END

这是因为MySQL没有更新行,如果没有变化,如文档中所述:

This works because MySQL doesn't update the row, if there is no change, as mentioned in docs:

如果将列设置为当前值,则MySQL会注意到此并且不会更新它。

If you set a column to the value it currently has, MySQL notices this and does not update it.

更多推荐

MySQL:仅在满足条件时更新字段

本文发布于:2023-10-23 02:31:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1519479.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字段   条件   MySQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!