|
Флудильня Разговоры на любые темы. Мы устаем постоянно работать. Иногда надо где-то немного отдохнуть. Пожалуйста, не надо здесь устраивать бардак. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
02.08.2011, 13:40 | #1 | ||
Ученый
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
|
команды мускуля
в общем заставили меня работать с базой не через программу оболочку а через консоль встала задача дропнуть 70+ таблиц с приставкой nfm_, простой командой
Код:
DROP TABLE Цитата:
Цитата:
PS осталось дропнуть 47 таблиц сижу уже 6 часов голову ломаю над этим |
||
02.08.2011, 14:27 | #2 |
Гость
Сообщений: 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 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
ну я бы сделал show tables; - получил бы список таблиц в текстовом файле. в нем насовал бы drop table напротив нужных и mysql -u user -p < text_file.sql
я так понял это разовая задача? |
02.08.2011, 14:38 | #4 |
Ученый
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
|
Роман ой не знаю)) возможно разовая а возможно и нет! так что лучше сказать что нет и она ещё потребуется
|
02.08.2011, 14:46 | #5 | |
Ученый
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
|
вот список если подскажешь как из него сделать текст то с удовольствием поделюсь)) да и проще будет дроп тейбл прописать))) Добавлено через 3 минуты Цитата:
Minimajack, я так понимаю в дольшейшем достаточно просто будет вместо nfm вставить другую приставку и он удалит все с той что я вставлю? Последний раз редактировалось Fedia22; 02.08.2011 в 14:48. |
|
02.08.2011, 14:46 | #6 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
| grep nfm_
|
02.08.2011, 15:01 | #7 |
Гость
Сообщений: n/a
|
|
02.08.2011, 15:03 | #8 |
Ученый
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
|
хе-хе что за процедура?)) у меня доступ по ssh и не более ((( вообще не работал с никсом, а сейчас вот пришлось
процедура не идёт( щас покажу скрин... PS говорю ж я в этом ни чего не понимаю(( что не так?( Последний раз редактировалось Fedia22; 02.08.2011 в 15:07. |
02.08.2011, 15:10 | #9 |
Гость
Сообщений: 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 ; call drop_tables_like('nfm_%', 'fedia22')$$ Последний раз редактировалось Minimajack; 02.08.2011 в 15:13. |
02.08.2011, 15:20 | #11 |
Гость
Сообщений: n/a
|
|
02.08.2011, 15:20 | #12 |
Ученый
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
|
вообщем
Код:
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')$$ |
02.08.2011, 15:26 | #13 | |
Гость
Сообщений: n/a
|
Цитата:
у тебя же нету БД 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, 19:22 | #15 |
Администратор
|
Федя, периодически в апах встречается процедура `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`; 2. Выполни запрос на создание своей процедуры и посмотри, будут ли ошибки. 3. Я предлагал вариант про запуск батника из консоли. |
02.08.2011, 19:40 | #16 |
Ученый
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
|
Ёлы палы это что такое?
спасибо за помощь! Virusav изучу то что дал ты, Minimajack за то что помог быстро справится с проблемой Последний раз редактировалось evilstar; 02.08.2011 в 20:13. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Команды 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 |