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