Použijte REPLACE
- funguje přesně jako INSERT, kromě toho, že pokud má starý řádek v tabulce stejnou hodnotu jako nový řádek pro PRIMARY KEY nebo UNIQUE index, starý řádek se před vložením nového řádku smaže.
http://dev.mysql.com/doc/refman/5.0 /cs/replace.html
-- For your example query
REPLACE INTO table_name(name, value, id) VALUES
('phill', 'person', 12345)
Upravit:Protože nemůžete použít REPLACE, další možností je:nastavit indexy omezení pro data tabulky (primární klíč, jedinečnost) a použít INSERT IGNORE
INSERT IGNORE INTO table_name
SET name = 'phill',
value = 'person',
id = 12345;