Я думаю, что если у вас есть 2 отдельные таблицы, и я уверен, что это не идеальный метод, но я думаю, что это помогает:
пользователи: user_id, session_id, username и т. Д. И т. Д.
очки: оценка_идентификатора, идентификатор_пользователя, оценка и т. д. и т. д.
добавить дополнительный столбец для пользователей таблицы с именем session_id
Когда вы собираетесь сохранить счет, создайте строку пользователя и сохраните session_id () в столбце session_id (теперь у вас есть ссылка для возврата для этого текущего пользователя).
если они регистрируются после сохранения счета, получают user_id на основе текущего session_id и обновляют соответствующие поля, которые они ввели.
Если они войдут в систему после сохранения счета, получите идентификатор строки, у которой есть против них свой session_id () (для ссылок в этом комментарии я назвал это unregistered_user_id). Получите идентификатор успешно авторизованного пользователя (для ссылок в этом комментарии я назвал его loggedin_user_id).
Теперь в таблицах результатов обновления обновлений устанавливается user_id = loggedin_user_id, где user_id = unregistered_user_id. мы знаем, что мы знаем, что эта оценка относится к зарегистрированному пользователю, и это входит в его историю или что-либо еще.
затем удалите строку из пользователей, где она была временной:
удалить из пользователей, где user_id = unregistered_user_id
// оптимизируем таблицы, чтобы все индексировалось и т. Д. И т. Д.