在mysql中使用IF更新数据,如果为false则定义“不做任何事情”

时间:2013-12-27 01:59:29

标签: mysql sql if-statement sql-update

我试图在更新mysql表中的整个行时使用IF查询。已知的IF查询有3个参数。你要找的东西的第1部分,第2部分如果找到/是真的,第3部分如果找不到/假。 我只是希望它在真实时更新,如果是假则不做任何事情。如何定义'不做任何事'所以假部分不会更新到其他任何东西?对不起,我的英语不好。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您对使用条件更新的条件的更新感到困惑。例如,以下是具有条件的更新:

UPDATE x SET y=IF(a=b, c, d)

这是条件更新:

UPDATE x SET y=c WHERE a=b

第一个版本适用于所有行,第二个版本适用于所有匹配的行。

使用WHERE子句限制UPDATE应用于哪些行。

答案 1 :(得分:1)

您可以在FALSE部分重新分配相同的列值,不执行任何操作。

试试这个:

UPDATE tableA SET COL1 = IF(a=b, c, COL1)