You can use the ON EXISTING clause of the INSERT statement to update existing rows in a table (based on primary key lookup) with new values. This clause can only be used on tables that have a primary key. Attempting to use this clause on tables without primary keys or on proxy tables generates a syntax error.
Specifying the ON EXISTING clause causes the server to do a primary key lookup for each input row. If the corresponding row does not exist, it inserts the new row. For rows already existing in the table, you can choose to:
generate an error for duplicate key values. This is the default behavior if the ON EXISTING clause is not specified.
silently ignore the input row, without generating any errors.
update the existing row with the values in the input row
For more information, see INSERT statement.