Иконка ресурса

Полезные SQL запросы

Сори, я в терминологии не силен. Можно попроще? :) Для чайников :) Как сделать у всех эту гребанную галочку активной? :)
 
martini, писать дополнение (скрипт) который через DataWriter всем пользователям это значение пересоберет в нужное.
 
Если вы изменили хостнейм форума, то для изменения ссылок в телах сообщений на новую, можно сделать такой SQL апдейт (в моем примере заменяем все ссылки содержащие forum.oneitem.com на talk.twoitem.com):
mysql> update xf_post set message = replace(message,'forum.oneitem','talk.twoitem') where message regexp 'forum.oneitem.com*';
Всевозможную статистику легко и удобно выгребать из базы. Например, топ юзеров, получивших наибольшее количество лайков за месяц:

Код:
mysql> select username, sum(likes) from xf_post where post_date between UNIX_TIMESTAMP('2015-03-01 00:00:01') and UNIX_TIMESTAMP('2015-03-31 23:59:59') and likes <> 0 group by username order by sum(likes) desc limit 25;
 
Последнее редактирование модератором:
IgorG, ссылки еще могут быть в личных сообщениях, сообщениях профиля, описаниях ресурсов, обновлениях ресурсов, элементах медиа-галереи, просто в дополнениях. Запросы надо делать тогда и для них. Не один раз писал, что самый удобный вариант - просто добавить *старый домен* в автоцензор с заменой на новый домен, там уж точно заменено без нагрузки будет везде.
 
Exile да, верно. Хотя можно ведь и проапдейтить соответствующие перечисленному таблицы по предложеной схеме. Ну и для моего форума все, кроме личных сообщений, не актуально, потому что не используется.
А можно поподробнее про ваш вариант? Где этот автоцензор?
 
есть ли запрос на удаление пользователей которые с давней активностью,или что то типо этого/плагин?
 
Вот такая задача:
Отчистка всех прочитанных диалогов.

Как такое выполнить?
 
Это что ещё значит?
 
Ну я подумал отчистить ВСЕ диалоги, у все пользователей. А потом подумал, а что если там есть непрочитанные ВАЖНЫЕ сообщения в каких либо диалогах, поэтому я подумал, что нужно сделать запрос который бы удалил все НЕ прочитанные диалоги в системе ЛИЧНЫЙ СООБЩЕНИЙ
 
Не подскажу. :) Не тестировал...
 
добрый день!
Пытаюсь поменять текст по всем сообщениям форума с "названия1", на "название2":
Код:
UPDATE `xf_post` SET `message` = REPLACE(`message`, "названия1", "название2");
в результате выводит ответ об успешном обновлении n-строк, но на самом форуме после этого ничего не изменилось, упоминается "название1", вместо другого ожидаемого. Что-то еще нужно обновить/перестроить в админке?
Также прошу помощи с аналогичным запросом для замены текста во всех подписях и (можно) профилях
 
Нужно еще условие поиска нужного "названия1" указать, как в моем примере тут #25
На сколько я помню, не обязательно условие WHERE в такого рода запросах. Достаточно найти в базе и просмотреть, изменился ли текст на текст2 и если все хорошо, то по идеи виноват кэш ксена.
 
На сколько я помню, не обязательно условие WHERE в такого рода запросах. Достаточно найти в базе и просмотреть, изменился ли текст на текст2 и если все хорошо, то по идеи виноват кэш ксена.
Ну, если вы полностью один текст меняете на другой, то да, условие не нужно. Но если вы меняете часть одинакового текста во множестве сообщений, то эту конкретную часть нужно сначала как-то найти, вычленить. Вот тут-то условие, причем с регэкспом, и необходимо.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу