Jeśli chcesz to zrobić w jednej instrukcji (brzmi tak, jak chcesz), polecam użycie INSERT ... ON DUPLICATE KEY UPDATE składnia w następujący sposób:
INSERT INTO table (id, someothervalue) VALUES (1, 'hi mom')
ON DUPLICATE KEY UPDATE someothervalue = 'hi mom';
Początkowy INSERT Instrukcja zostanie wykonana, jeśli nie istnieje żaden rekord z określoną wartością klucza (kluczem podstawowym lub unikatową). Jeśli rekord już istnieje, następująca UPDATE instrukcja (someothervalue = 3 ) jest wykonywany.
Jest to obsługiwane we wszystkich wersjach MySQL. Aby uzyskać więcej informacji, zobacz stronę MySQL Reference Manual dla INSERT ... ON DUPLICATE KEY UPDATE