En MySQL se puede usar
Código SQL
[-]
insert ignore into tabla
.....
Con esta opción, si el registro que va a insertarse repetiría una llave, entonces no se inserta y no genera error.
También, MySQL tiene la opción INSERT ... ON DUPLICATE o bien la sentencia REPLACE que permite, en caso de llave repetida, actualizar los otros campos.
// Saludos