Есть замечательная конструкция в MySQL, которая позволяет при вставке существующих первичных ключей, обновлять эту строку, иначе вставляется новая запись.
1 2 3 4 5 6 7 8 |
INSERT INTO
table_name(id, name, pass)
VALUES
('111', 'myname', 'mypass')
ON DUPLICATE KEY
UPDATE
name = VALUES(name),
pass = VALUES(pass) |
Если в таблице table_name существует первичный ключ id, то обновятся name и pass, в другом случае произойдет вставка новой записи.