“INSERT IGNORE”和“......关于重复更新”会发生什么?

时间:2012-06-05 01:57:42

标签: mysql sql etl talend

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` = ?";

1 个答案:

答案 0 :(得分:1)

IGNORE只是作为一种错误抑制器,使致命错误成为警告。

ON DUPLICATE KEY UPDATE不会触发错误,因此INGORE对其没有任何影响。

因此,IGNORE在使用ON DUPLICATE KEY UPDATE时对重复键没有影响。 然而,如果发生了不同的错误,那么IGNORE确实会产生影响。