2012-06-05 88 views
0

mysql將如何處理INSERT IGNORE… ON DUPLICATE KEY UPDATE「INSERT IGNORE」和「... ON DUPLICATE KEY UPDATE」會發生什麼情況?

這不是關於他們的differences的問題。我問,因爲拓藍ETL做到這一點的UI後面,我擔心它會有副作用,尤其是如果我不想更新和做這樣的事情:

String insertIgnore_tMysqlOutput_10 = "INSERT IGNORE INTO `" 
+ "Employees" 
+ "` (`Name`,`JobTitle`) VALUES (?,?) ON DUPLICATE KEY UPDATE `Name` = ?"; 

回答

1

IGNORE只是充當一個錯誤的類型 - 壓抑者,使致命錯誤代替警告。

ON DUPLICATE KEY UPDATE不會觸發錯誤,所以INGORE對它沒有影響。

因此,當使用ON DUPLICATE KEY UPDATE時,IGNORE對重複密鑰沒有影響。 但是,如果發生不同的錯誤,那麼IGNORE確實會產生影響。

+0

嗯,我認爲這是對了Talend ETL部分的錯誤使用忽略 – KCD

+0

一個例子:NULL插入一個NOT NULL將插入列類型默認默默繼續 – KCD

相關問題