Ru-MaNGOS

Вернуться   Ru-MaNGOS > Флуд > Флудильня

Важная информация

Флудильня Разговоры на любые темы.

Мы устаем постоянно работать. Иногда надо где-то немного отдохнуть. Пожалуйста, не надо здесь устраивать бардак.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.08.2011, 13:40   #1
Fedia22
Ученый
 
Аватар для Fedia22
 
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
Fedia22 На верном пути
По умолчанию команды мускуля

в общем заставили меня работать с базой не через программу оболочку а через консоль встала задача дропнуть 70+ таблиц с приставкой nfm_, простой командой
Код:
DROP TABLE
на каждую таблицу это анреал, долго и муторно

Цитата:
Сообщение от virusav
DROP TABLES FROM `fedia22` WHERE `Tables_in_fedia22` LIKE 'nfm_%';
нет, выдало ошибку синтаксиса

Цитата:
Сообщение от Yuriy
DROP TABLE IF EXISTS `Tables_in_fedia22` LIKE 'nfm_%';
так же нет, выдало ту же ошибку синтаксиса, подскажите маленькому идиоту

PS осталось дропнуть 47 таблиц сижу уже 6 часов голову ломаю над этим
Fedia22 вне форума   Ответить с цитированием
Старый 02.08.2011, 14:27   #2
Minimajack
Гость
 
Сообщений: n/a
По умолчанию



http://dev.mysql.com/doc/refman/5.5/en/drop-table.html
в консоли
Код:
CREATE PROCEDURE `fedia22`.`drop_tables_like`(IN pattern VARCHAR(255), IN db VARCHAR(255))
begin
select @str_sql:=concat('drop table ', group_concat(table_name))
from information_schema.tables
where table_schema=db and table_name like pattern;

prepare stmt from @str_sql;
execute stmt;
drop prepare stmt;
end;$$
Код:
call drop_tables_like('nfm%', 'fedia22');$$
у меня получилось

ззы Только сначала проверить
Код:
SELECT concat('drop table ', group_concat(table_name)) FROM information_schema.`TABLES` WHERE TABLE_SCHEMA='fedia22'  AND TABLE_NAME like "nfm%"

Последний раз редактировалось Minimajack; 02.08.2011 в 14:31.
  Ответить с цитированием
Старый 02.08.2011, 14:31   #3
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

ну я бы сделал show tables; - получил бы список таблиц в текстовом файле. в нем насовал бы drop table напротив нужных и mysql -u user -p < text_file.sql
я так понял это разовая задача?
RomanRom2 вне форума   Ответить с цитированием
Старый 02.08.2011, 14:38   #4
Fedia22
Ученый
 
Аватар для Fedia22
 
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
Fedia22 На верном пути
По умолчанию

Роман ой не знаю)) возможно разовая а возможно и нет! так что лучше сказать что нет и она ещё потребуется
Fedia22 вне форума   Ответить с цитированием
Старый 02.08.2011, 14:46   #5
Fedia22
Ученый
 
Аватар для Fedia22
 
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
Fedia22 На верном пути
По умолчанию


вот список если подскажешь как из него сделать текст то с удовольствием поделюсь)) да и проще будет дроп тейбл прописать)))

Добавлено через 3 минуты
Цитата:
Сообщение от Minimajack Посмотреть сообщение
ззы Только сначала проверить
Код:
SELECT concat('drop table ', group_concat(table_name)) FROM information_schema.`TABLES` WHERE TABLE_SCHEMA='fedia22'  AND TABLE_NAME like "nfm%"
о мой бог, получилось вот что

Minimajack, я так понимаю в дольшейшем достаточно просто будет вместо nfm вставить другую приставку и он удалит все с той что я вставлю?

Последний раз редактировалось Fedia22; 02.08.2011 в 14:48.
Fedia22 вне форума   Ответить с цитированием
Старый 02.08.2011, 14:46   #6
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

| grep nfm_
RomanRom2 вне форума   Ответить с цитированием
Старый 02.08.2011, 15:01   #7
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Fedia22 Посмотреть сообщение
Minimajack, я так понимаю в дольшейшем достаточно просто будет вместо nfm вставить другую приставку и он удалит все с той что я вставлю?
если создашь процедуру - да
  Ответить с цитированием
Старый 02.08.2011, 15:03   #8
Fedia22
Ученый
 
Аватар для Fedia22
 
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
Fedia22 На верном пути
По умолчанию

хе-хе что за процедура?)) у меня доступ по ssh и не более ((( вообще не работал с никсом, а сейчас вот пришлось

процедура не идёт( щас покажу скрин...


PS говорю ж я в этом ни чего не понимаю(( что не так?(

Последний раз редактировалось Fedia22; 02.08.2011 в 15:07.
Fedia22 вне форума   Ответить с цитированием
Старый 02.08.2011, 15:10   #9
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

http://dev.mysql.com/doc/refman/5.5/en/drop-table.html
Код:
delimiter $$
create procedure drop_tables_like(pattern varchar(255), db varchar(255))
begin
select @str_sql:=concat('drop table ', group_concat(table_name))
from information_schema.tables
where table_schema=db and table_name like pattern;

prepare stmt from @str_sql;
execute stmt;
drop prepare stmt;
end$$

call drop_tables_like('kw_%', 'db_1')$$

drop procedure if exists drop_tables_like$$
delimiter ;
забыл разделитель строк добавить delimiter $$
call drop_tables_like('nfm_%', 'fedia22')$$
Вложения
Тип файла: sql procedure.sql (304 байт, 223 просмотров)

Последний раз редактировалось Minimajack; 02.08.2011 в 15:13.
  Ответить с цитированием
Старый 02.08.2011, 15:16   #10
Fedia22
Ученый
 
Аватар для Fedia22
 
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
Fedia22 На верном пути
По умолчанию

Код:
call drop_tables_like('nfm_%', 'fedia22')$$
не работает(
Fedia22 вне форума   Ответить с цитированием
Старый 02.08.2011, 15:20   #11
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Fedia22 Посмотреть сообщение
Код:
call drop_tables_like('nfm_%', 'fedia22')$$
не работает(
федя процедура создалась? Прав хватило?
  Ответить с цитированием
Старый 02.08.2011, 15:20   #12
Fedia22
Ученый
 
Аватар для Fedia22
 
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
Fedia22 На верном пути
По умолчанию

вообщем
Код:
delimiter $$
create procedure drop_tables_like(pattern varchar(255), db varchar(255))
begin
select @str_sql:=concat('drop table ', group_concat(table_name))
from information_schema.tables
where table_schema=db and table_name like pattern;

prepare stmt from @str_sql;
execute stmt;
drop prepare stmt;
end$$

call drop_tables_like('kw_%', 'db_1')$$

drop procedure if exists drop_tables_like$$
delimiter ;
всё синее(то есть красное) (ха ха ха, я дальтоник ) проходит, и стопорится, потом пишется делимитер я жму ентер и прописываю
Код:
call drop_tables_like('nfm_%', 'fedia22')$$
толку нет(
Fedia22 вне форума   Ответить с цитированием
Старый 02.08.2011, 15:26   #13
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Fedia22 Посмотреть сообщение
вообщем
всё синее(то есть красное) (ха ха ха, я дальтоник ) проходит, и стопорится, потом пишется делимитер я жму ентер и прописываю
Код:
call drop_tables_like('nfm_%', 'fedia22')$$
толку нет(
федя ну емае...процедура создается дропаются таблицы и она же удаляется ...
у тебя же нету БД db_1 и в ней таблиц kw_% ?? ))))
я же выделил что заменить нужно красным цветом
Код:
delimiter $$
create procedure drop_tables_like(pattern varchar(255), db varchar(255))
begin
select @str_sql:=concat('drop table ', group_concat(table_name))
from information_schema.tables
where table_schema=db and table_name like pattern;

prepare stmt from @str_sql;
execute stmt;
drop prepare stmt;
end$$

call drop_tables_like('nfm_%', 'fedia22')$$

drop procedure if exists drop_tables_like$$
delimiter ;
  Ответить с цитированием
Старый 02.08.2011, 15:28   #14
Fedia22
Ученый
 
Аватар для Fedia22
 
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
Fedia22 На верном пути
По умолчанию

бред, туплю, пошёл делать а вообще вот что было и что писал
Fedia22 вне форума   Ответить с цитированием
Старый 02.08.2011, 19:22   #15
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Федя, периодически в апах встречается процедура `damage_recalc`:
Код:
# Fix_DMG
DROP PROCEDURE IF EXISTS `damage_recalc`;
DELIMITER //
CREATE PROCEDURE `damage_recalc` (IN `proc_K_class` DOUBLE, IN `proc_class` INT, IN `proc_maxlevel_bottom` INT, IN `proc_maxlevel_top` INT, IN `proc_K_damage` DOUBLE, IN `proc_plus` INT)
BEGIN
UPDATE `creature_template` SET
	`dmg_multiplier`=ROUND((`mindmg`+`maxdmg`)*`dmg_multiplier`/(ROUND(`baseattacktime`/1000*`proc_K_class`*((`maxlevel`-`proc_maxlevel_bottom`)*`proc_K_damage`+`proc_plus`))),1),
	`mindmg`=ROUND(`baseattacktime`/1000*`proc_K_class`*((`maxlevel`-`proc_maxlevel_bottom`)*`proc_K_damage`+`proc_plus`)/2.5),
	`maxdmg`=ROUND(`baseattacktime`/1000*`proc_K_class`*((`maxlevel`-`proc_maxlevel_bottom`)*`proc_K_damage`+`proc_plus`))-`mindmg`,
	`attackpower`=ROUND((`mindmg`+`maxdmg`)/2*0.3)
WHERE
	`unit_class`=`proc_class`
	AND `maxlevel`>`proc_maxlevel_bottom`
	AND `maxlevel`<`proc_maxlevel_top`;
END //
DELIMITER ;
CALL `damage_recalc`(1,0,5,41,1.75,4.25);
...
DROP PROCEDURE IF EXISTS `damage_recalc`;
1. Смотри синтаксис.
2. Выполни запрос на создание своей процедуры и посмотри, будут ли ошибки.
3. Я предлагал вариант про запуск батника из консоли.
virusav вне форума   Ответить с цитированием
Старый 02.08.2011, 19:40   #16
Fedia22
Ученый
 
Аватар для Fedia22
 
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
Fedia22 На верном пути
По умолчанию

Ёлы палы это что такое?

спасибо за помощь! Virusav изучу то что дал ты, Minimajack за то что помог быстро справится с проблемой

Последний раз редактировалось evilstar; 02.08.2011 в 20:13.
Fedia22 вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Команды Git'a Max Прочая документация 26 19.08.2012 10:41
Скрипт php для отправки команды в консоль mangosd.exe coftsonyk Языки программирования 51 11.05.2012 22:35
Команды GM и права Softer Флудильня 5 29.01.2011 00:53
Хочу удалить все арена команды ObeDve Новичкам 5 27.12.2010 10:34
Создание внутриигровой команды Houk Новичкам 9 10.08.2010 19:23


Текущее время: 12:53. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot