Как диапазону пользователей проставить одинаковую дату регистрации?

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 14 мая 2016 в 15:48
Друзья, возникла проблема: часть пользователей со старого (самописного) сайта были перенесены на Инстант без даты регистрации.
Я думаю о том, чтобы всем "безрегистрационным" пользователям выставить одну и ту же дату.
Каким запросом к базе данных это можно сделать? Например, нужно для всех пользователей в диапазоне с 1026 по 3001 поставить дату регистрации 2 мая 2016 года 00:00. Кто может подсказать команду, которой это можно воплотить?

И еще вопрос: если вдруг у пользователя будет регистрация 2 мая 2016 года, а у него есть комментарии, которые датированы 2015 годом. В этом случае новая дата регистрации не приведет к каким-нибудь конфликтам? Может ли дата регистрации на что-то критично повлиять? Если да, то на что именно? А то вдруг я своей "простановкой дат регистрации" ввергну сайт в хаос :)

Буду признателен за помощь и советы.
#2 15 мая 2016 в 09:51
Денис Швецов,
Перед всеми действиями не забудьте сохранить таблицу cms_users на всякий случай. Прямо в phpmyadmin экспорт.

А может попробовать задать дату регистрации не от балды, а по дате первого комментария? Сейчас попробую изобразить команду.

  1. UPDATE cms_users u SET u.date_reg = (SELECT MIN(c.date_pub) FROM cms_comments c WHERE c.user_id = u.id) WHERE u.id >= 1026 AND id <= 3001
Следует учесть, что у пользователей не имеющих комментариев дата регистрации станет NULL, поэтому после заменяем все нули на вашу произвольную дату:

  1. UPDATE `cms_users`
  2. SET date_reg = '2016-05-02 00:00:00'
  3. WHERE date_reg IS NULL LIMIT 30000
А может просто выполнить последнюю команду по замене нулей, да все проблемы и исправятся?
#3 15 мая 2016 в 10:14
HiAndy, спасибо вам за то, что в очередной раз мне помогаете😊С меня определенно плюс в карму и большое спасибо :)
А вы можете прокомментировать волнующий меня вопрос? :

если вдруг у пользователя будет регистрация 2 мая 2016 года, а у него есть комментарии, которые датированы 2015 годом. В этом случае новая дата регистрации не приведет к каким-нибудь конфликтам? Может ли дата регистрации на что-то критично повлиять? Если да, то на что именно? А то вдруг я своей "простановкой дат регистрации" ввергну сайт в хаос :)

Денис Швецов
#4 15 мая 2016 в 10:23
Денис Швецов,

Проверил, вроде никак не влияет.
Вы сохраните перед всеми действиями таблицу cms_users на всякий случай. Всегда можно будет вернуть к первоначальному состоянию.

Обратите выше внимание, что команду для замены нулей я исправил. Теперь всё точно работает.
#5 15 мая 2016 в 18:31
Ура! HiAndy, спасибо вам за кропотливую и обстоятельную помощь! Долго разбираясь, как же можно перенести данные из одной таблицы в другую, мы (вы!) это сделали! Спасибо :)
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.