Удаление строк с нескольких таблиц по параметру

MSW

Новичок
Удаление строк с нескольких таблиц по параметру

Подскажите, пожалуйста, как правильно организовать следующее:

надо удалить пользователей со всеми их данными с БД, если он не появлялся 35 дней и больше.

есть таблица users, в которой есть столбец - onlinetime, в ней находиться время последнего посещения пользователя, имеет формат int(11).
PHP:
$query = doquery("SELECT * FROM {{table}} WHERE onlinetime>='".(time()-60*60*24*35)."'",'users');
отсюда надо взять id этого пользователя и с других таблиц удалить все записи вязаные с ним:
PHP:
doquery ( "DELETE FROM {{table}} WHERE `message_sender` = '" . $UserID . "';", 'messages' );
doquery ( "DELETE FROM {{table}} WHERE `message_owner` = '" . $UserID . "';", 'messages' );
doquery ( "DELETE FROM {{table}} WHERE `owner` = '" . $UserID . "';", 'notes' );
doquery ( "DELETE FROM {{table}} WHERE `fleet_owner` = '" . $UserID . "';", 'fleets' );
doquery ( "DELETE FROM {{table}} WHERE `id_owner1` = '" . $UserID . "';", 'rw' );
doquery ( "DELETE FROM {{table}} WHERE `id_owner2` = '" . $UserID . "';", 'rw' );
doquery ( "DELETE FROM {{table}} WHERE `sender` = '" . $UserID . "';", 'buddy' );
doquery ( "DELETE FROM {{table}} WHERE `owner` = '" . $UserID . "';", 'buddy' );
doquery ( "DELETE FROM {{table}} WHERE `user` = '" . $UserID . "';", 'annonce' );
doquery ( "DELETE FROM {{table}} WHERE `id` = '" . $UserID . "';", 'users' );
doquery ( "DELETE FROM {{table}} WHERE `id` = '" .  id_owner . "';", 'planets' );
как правильно организовать всю эту процедуру на php?
 

MSW

Новичок
а не моглиб вы показать мне на вот таком примере как можна всё вместить в один запрос, а дальше по примеру я уже надеюсь разберусь :)

PHP:
doquery ( "DELETE FROM {{table}} WHERE `message_sender` = '" . $UserID . "';", 'messages' );
doquery ( "DELETE FROM {{table}} WHERE `message_owner` = '" . $UserID . "';", 'messages' );
doquery ( "DELETE FROM {{table}} WHERE `owner` = '" . $UserID . "';", 'notes' );
doquery ( "DELETE FROM {{table}} WHERE `fleet_owner` = '" . $UserID . "';", 'fleets' );
doquery ( "DELETE FROM {{table}} WHERE `id_owner1` = '" . $UserID . "';", 'rw' );
doquery ( "DELETE FROM {{table}} WHERE `id_owner2` = '" . $UserID . "';", 'rw' );
doquery ( "DELETE FROM {{table}} WHERE `sender` = '" . $UserID . "';", 'buddy' );
doquery ( "DELETE FROM {{table}} WHERE `owner` = '" . $UserID . "';", 'buddy' );
doquery ( "DELETE FROM {{table}} WHERE `user` = '" . $UserID . "';", 'annonce' );
doquery ( "DELETE FROM {{table}} WHERE `id` = '" . $UserID . "';", 'users' );
doquery ( "DELETE FROM {{table}} WHERE `id_owner` = '" .  $UserID . "';", 'planets' );
-~{}~ 27.05.08 11:21:

PHP:
DELETE FROM messages, notes, fleets, rw, buddy, annonce, users, planets WHERE messages.message_sender ='$UserID' OR messages.message_owner = '$UserID' OR notes.owner ='$UserID' OR fleets.fleet_owner='$UserID' OR rw.id_owner1='$UserID' OR rw.id_owner2='$UserID' OR buddy.sender='$UserID' OR buddy.owner='$UserID' OR annonce.user='$UserID' OR users.id='$UserID'
так получается?

тогда php запрос будет таким?
PHP:
doquery ( "DELETE FROM {{table}} WHERE `messages.message_sender`='" . $UserID . "' OR `messages.message_owner`= '" . $UserID . "' OR `notes.owner`='" . $UserID . "' OR `fleets.fleet_owner`='" . $UserID . "' OR `rw.id_owner1`='" . $UserID . "' OR `rw.id_owner2`='" . $UserID . "' OR `buddy.sender`='" . $UserID . "' OR `buddy.owner`='" . $UserID . "' OR `annonce.user`='" . $UserID . "' OR `users.id`='" . $UserID . "';", 'messages', 'notes', 'fleets', 'rw', 'buddy', 'annonce', 'users', 'planets' );
 
Сверху