我可以安全地更新所有值,如下所示:
INSERT INTO tbl_name SET `a`=:a, `b`=:b, ... `z`=:z
ON DUPLICATE KEY UPDATE
`a`=VALUES(`a`), `b`=VALUES(`b`), ... `z`=VALUES(`z`);
我试过了,它有效。但它仅在一个innodb表上进行了测试。
我发现了这些相关问题1,2,3,但没有提及更新所有列(唯一和/或pk)是100%安全的。
更新具有相同值的PK时不会产生任何错误 更新具有相同值的Unique col时不会产生任何错误。
那么,使用它是否100%安全?如果没有,什么是角落情况,当它破裂?
--------- 编辑 -------------
添加......直到z col