Verwenden Sie REPLACE
- Funktioniert genau wie INSERT, außer dass, wenn eine alte Zeile in der Tabelle denselben Wert wie eine neue Zeile für einen PRIMARY KEY oder einen UNIQUE-Index hat, die alte Zeile gelöscht wird, bevor die neue Zeile eingefügt wird.
http://dev.mysql.com/doc/refman/5.0 /en/replace.html
-- For your example query
REPLACE INTO table_name(name, value, id) VALUES
('phill', 'person', 12345)
Bearbeiten:Da Sie REPLACE nicht verwenden können, besteht eine andere Option darin:Festlegen von Einschränkungsindizes für die Tabellendaten (Primärschlüssel, Eindeutigkeit) und Verwenden von INSERT IGNORE
INSERT IGNORE INTO table_name
SET name = 'phill',
value = 'person',
id = 12345;