Если вы все равно используете session_id () (я думаю, это то, что вы подразумеваете под идентификатором сессии), просто используйте php-сессии.PHP автоматически делает их недействительными, и вам не нужны эти две таблицы (вы можете хранить все, что вам нужно, в $ _SESSION).
Нет способа проверить, не был ли закрытый броузер, на который вы могли бы положиться.
Если вы не хотите менять способ работы вашего проекта сейчас, просто добавьте созданное поле в таблицы и установите его в текущее время () всякий раз, когда вы «видите» конкретного пользователя.Затем установите cronjob, который удаляет все записи из этой таблицы, которые старше определенного времени ожидания.