Използвайте REPLACE
- работи точно като INSERT, с изключение на това, че ако стар ред в таблицата има същата стойност като нов ред за ПЪРВИЧЕН КЛЮЧ или УНИКАЛЕН индекс, старият ред се изтрива преди вмъкването на новия ред.
http://dev.mysql.com/doc/refman/5.0 /bg/replace.html
-- For your example query
REPLACE INTO table_name(name, value, id) VALUES
('phill', 'person', 12345)
Редактиране:Тъй като не можете да използвате REPLACE, друга опция е:задаване на ограничителни индекси за данните в таблицата (първичен ключ, уникалност) и използване на INSERT IGNORE
INSERT IGNORE INTO table_name
SET name = 'phill',
value = 'person',
id = 12345;