Jump to content

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


a1eX28
 Share

Recommended Posts

Привет.

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

Можно и 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

  • Upvote 1
Link to comment
Share on other sites

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...