根据文档:
如果 [columns
a
andb
are] 是唯一的,INSERT
则等效于以下UPDATE
语句:UPDATE table SET c=c+1 WHERE a=1 OR b=2 LIMIT 1;
如果
a=1 OR b=2
匹配多行,则仅更新一行。通常,您应该尽量避免ON DUPLICATE KEY UPDATE
在具有多个唯一索引的表上使用子句。
这很公平,但如果我有这个作为唯一的关键:
PRIMARY KEY (`a`,`b`)
由于重复键同时依赖于两个字段,更新是否会可靠地影响发生重复的特定行,或者它是否与字段单独唯一一样?