SET AUTOCOMMIT=0; START TRANSACTION; DELETE FROM my_table WHERE user_id=some_number; INSERT INTO my_table (user_id, ... ) VALUES(some_number, ...); commit;
Use an UPDATE statement instead:
UPDATE my_tableSET my_column = my_valueWHERE user_id = some_number
You could always try a COMMIT after the DELETE to make sure its completed.