Skip to content

Удалить все личные сообщения до определенной даты

Привет.

Может кто сталкивался, нужна помощь: каким sql запросом в БД (или по другому может быть) - удалить все личные сообщения определенного юзера до некой даты или скажем текущая дата минус один месяц скажем.

Featured Replies

Личные сообщение - понятие относительное, так как личное сообщение может быть и тема начатая этим пользователем с сообщениями от других участников.

  • Author

Личные сообщение - понятие относительное, так как личное сообщение может быть и тема начатая этим пользователем с сообщениями от других участников.

Вы правы, понял свою неточность. Буду руками удалять ;)

Можно и sql запросом.

 

Удалить только сообщения пользователя:

DELETE FROM ibf_message_posts WHERE msg_is_first_post!=1 AND msg_author_id=ид_пользователя;

Удалить все личные темы начатые этим пользователем:

DELETE t.*, p.*, m.* FROM ibf_message_topics t LEFT JOIN ibf_message_posts p ON p.msg_topic_id=t.mt_id LEFT JOIN ibf_message_topic_user_map m ON m.map_topic_id=t.mt_id WHERE t.mt_starter_id=ид_пользователя

Дополнительные условия, такие как дата создания, ip адрес добавляем в конце через AND.

 

Удалить сообщения до 31 декабря 2012 года - в первом запросе добавить AND msg_date

Удалить все темы пользователя начатые до 31 декабря 2012 года - во втором запросе добавить AND mt_start_time

  • 1 year later...

При запросе такой ответ

#1146 - Table 'admin_site.ibf_message_topics' doesn't exist 

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.