我需要的是用一个特定的键设置一个记录的所有字段的值(实际上这个键是复合的) ,如果还没有具有这样一个键的记录,则插入这个记录。
REPLACE
似乎是要做这项工作,但同时它的手册页建议
INSERT ... ON DUPLICATE KEY UPDATE
.
我应该选择哪一个? 为什么?
我想到的唯一的“副作用”是 REPLACE
会增加自增量值(幸运的是我没有使用任何值) ,而 INSERT ... ON DUPLICATE KEY UPDATE
可能不会。还有什么其他的实际差异需要考虑?在哪些特殊情况下,REPLACE
可能优于 INSERT ... ON DUPLICATE KEY UPDATE
,反之亦然?