UPDATE `users` SET `my_ref_sub` = ? WHERE `user_id` = ?", (sub, user_id)
Данный код явно просит БД обновить строку с о значениемuser_id. База данных находит эту строку и обновляет поле. Если вы хотите сделать именно новую запись необходимо использовать INSERT. В этом случае база запишет данные в новую строку, а не обновит имеющуюся.