Как диапазону пользователей проставить одинаковую дату регистрации?
Я думаю о том, чтобы всем "безрегистрационным" пользователям выставить одну и ту же дату.
Каким запросом к базе данных это можно сделать? Например, нужно для всех пользователей в диапазоне с 1026 по 3001 поставить дату регистрации 2 мая 2016 года 00:00. Кто может подсказать команду, которой это можно воплотить?
И еще вопрос: если вдруг у пользователя будет регистрация 2 мая 2016 года, а у него есть комментарии, которые датированы 2015 годом. В этом случае новая дата регистрации не приведет к каким-нибудь конфликтам? Может ли дата регистрации на что-то критично повлиять? Если да, то на что именно? А то вдруг я своей "простановкой дат регистрации" ввергну сайт в хаос :)
Буду признателен за помощь и советы.
Перед всеми действиями не забудьте сохранить таблицу cms_users на всякий случай. Прямо в phpmyadmin экспорт.
А может попробовать задать дату регистрации не от балды, а по дате первого комментария? Сейчас попробую изобразить команду.
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
UPDATE `cms_users` SET date_reg = '2016-05-02 00:00:00' WHERE date_reg IS NULL LIMIT 30000
А вы можете прокомментировать волнующий меня вопрос? :
если вдруг у пользователя будет регистрация 2 мая 2016 года, а у него есть комментарии, которые датированы 2015 годом. В этом случае новая дата регистрации не приведет к каким-нибудь конфликтам? Может ли дата регистрации на что-то критично повлиять? Если да, то на что именно? А то вдруг я своей "простановкой дат регистрации" ввергну сайт в хаос :)
Проверил, вроде никак не влияет.
Вы сохраните перед всеми действиями таблицу cms_users на всякий случай. Всегда можно будет вернуть к первоначальному состоянию.
Обратите выше внимание, что команду для замены нулей я исправил. Теперь всё точно работает.