Can I safely update all values like this:
INSERT INTO tbl_name SET `a`=:a, `b`=:b, ... `z`=:z
ON DUPLICATE KEY UPDATE
`a`=VALUES(`a`), `b`=VALUES(`b`), ... `z`=VALUES(`z`);
I have tried it, and it works. But it's tested only on one innodb table.
I have found these related questions 1, 2, 3 but there's no mention that updating ALL columns (unique and/or pk) is 100% safe.
It doesn't create any error on updating PK with same value.
It doesn't create any error on updating Unique col with same value.
So, is it 100% safe to use? If not, what are corner cases, when it breaks?
--------- edit -------------
added ... up to z col