mysql对INSERT IGNORE
和… ON DUPLICATE KEY UPDATE
的处理方式是什么?
这不是关于他们differences的问题。我问,因为Talend ETL在UI后面这样做,我担心它会产生副作用,特别是如果我不想更新并做这样的事情:
String insertIgnore_tMysqlOutput_10 = "INSERT IGNORE INTO `"
+ "Employees"
+ "` (`Name`,`JobTitle`) VALUES (?,?) ON DUPLICATE KEY UPDATE `Name` = ?";
答案 0 :(得分:1)
IGNORE
只是作为一种错误抑制器,使致命错误成为警告。
ON DUPLICATE KEY UPDATE
不会触发错误,因此INGORE
对其没有任何影响。
因此,IGNORE
在使用ON DUPLICATE KEY UPDATE
时对重复键没有影响。 然而,如果发生了不同的错误,那么IGNORE
确实会产生影响。