Magtize
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ZIK, xZ  
Чистка аккаунтов и персонажей
ZIKДата: Четверг, 23.08.2007, 01:34 | Сообщение # 1
Малыш
Группа: Модераторы
Сообщений: 3
Репутация: 0
Статус: Offline
НЕ ПРОВЕРЯЛОСЬ!

.
К примеру чистим таблицу account от аккаунтов несипользуемых доолгое время.

Код:
select * from `account` where `last_login`< '2006-09-01 00:00:00';смотрим что выводит, и действуем.

Код:
delete from `account` where `last_login`< '2006-09-01 00:00:00';или же забаненные аккаунты

Код:
select * from `account` where `banned`> '0';Теперь надо удалять все записи с несуществующим ID аккаунта из таблицы realmcharacter.
Что-то вроде такого:

Код:
delete from `realmcharacters` WHERE `realmcharacters`.`acctid` NOT IN ( select `id` from `account`);База Realmd Очищена! Теперь чистим mangosd.

Код:
delete from `character` WHERE `character`.`account` NOT IN ( select `id` from `realmd`.`account`);На основании этого теперь можем чистить все таблицы персонажей.

Код:
delete from `character_action` WHERE `character_action`.`guid` NOT IN ( select `guid` from `character`);
delete from `character_aura` WHERE `character_aura`.`guid` NOT IN ( select `guid` from `character`);
delete from `character_homebind` WHERE `character_homebind`.`guid` NOT IN ( select `guid` from `character`);
delete from `character_inventory` WHERE `character_inventory`.`guid` NOT IN ( select `guid` from `character`);
delete from `character_kill` WHERE `character_kill`.`guid` NOT IN ( select `guid` from `character`);
delete from `character_pet` WHERE `character_pet`.`owner` NOT IN ( select `guid` from `character`);
delete from `character_queststatus` WHERE `character_queststatus`.`guid` NOT IN ( select `guid` from `character`);
delete from `character_reputation` WHERE `character_reputation`.`guid` NOT IN ( select `guid` from `character`);
delete from `character_social` WHERE `character_social`.`guid` NOT IN ( select `guid` from `character`);
delete from `character_spell` WHERE `character_spell`.`guid` NOT IN ( select `guid` from `character`);
delete from `character_stable` WHERE `character_stable`.`owner` NOT IN ( select `guid` from `character`);
delete from `character_ticket` WHERE `character_ticket`.`guid` NOT IN ( select `guid` from `character`);
delete from `character_tutorial` WHERE `character_tutorial`.`guid` NOT IN ( select `guid` from `character`);Персонаж удалён, чистим его остатки:

Код:
delete from `mail` WHERE `mail`.`receiver` NOT IN ( select `guid` from `character`);
Помоему всё? Ищите ошибки, писал только со структуры, без реально заполненой базы...Так что они должны и могут быть. Особенно рекомендую посомтреть таблицы с петами, трупами, и почтой.
Гильдии не брал в расчёт, так как они не работают ещё

 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2026Создать бесплатный сайт с uCoz