Update data using IF in mysql and define 'dont

2020-04-21 03:08发布

Im trying to use IF query in update some entire row in my mysql table. As known IF query have 3 parameters. Part 1 of what you looking for, part 2 if its found / true and part 3 if its not found / false. I just want it to be update when its true and doing nothing if false. How to define 'dont do anything' so the false part wont be update into anything else? Sorry for my bad english. And thanks for your help.

2条回答
叛逆
2楼-- · 2020-04-21 03:31

You're confusing an update with a condition with a conditional update. For example the following is an update with a condition:

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

This is a conditional update:

UPDATE x SET y=c WHERE a=b

The first version is applied to all rows, the second to all matching rows.

Use a WHERE clause to limit what rows your UPDATE is applied to.

查看更多
一夜七次
3楼-- · 2020-04-21 03:45

You can reassign the same value of column in FALSE part to do nothing.

Try this:

UPDATE tableA SET COL1 = IF(a=b, c, COL1)
查看更多
登录 后发表回答