O MySQL suporta o insert-on-duplicate sintaxe, por exemplo: INSERT INTO table (key,col1) VALUES (1,2) ON DUPLICATE KEY UPDATE col1 = 2;