This is to share some insight on the subject of mysql triggers in connection with INSERT INTO ON DUPLICATE KEY UPDATE statement.
When you execute an SQL UPDATE query, the update triggers are fired regardless of whether you changed a value or not in a specific row.
The above query will fire the update trigger (before or after) even if ‘myColumn’ already has the value ‘test’ for row with id=100
This is not the case with INSERT INTO ON DUPLICATE KEY UPDATE query.
The above query will not fire any UPDATE trigger if there is already a row with id=100 and ‘myColumn’ already has value ‘test’ !!!