como apagar as tabelas taggregate_temp_ de uma só vez?

0

No MySQL, eu tenho várias tabelas nomeadas assim:

taggregate_temp_1364792160
taggregate_temp_1364795760
taggregate_temp_1364799360
taggregate_temp_1364802960
taggregate_temp_1364806560
taggregate_temp_1364810160
taggregate_temp_1364813760
taggregate_temp_1364817360
taggregate_temp_1364820960
taggregate_temp_1364824560
taggregate_temp_1364828160
taggregate_temp_1364831760
taggregate_temp_1364835360
taggregate_temp_1364838960
taggregate_temp_1364842560
taggregate_temp_1364846160
taggregate_temp_1364849760
taggregate_temp_1364853360

Eu preciso excluir todas as tabelas começando com: taggregate_temp_ de uma vez

    
por tahafahed 03.06.2014 / 01:13

1 resposta

0

Se todas as tabelas temporárias estiverem em mydb , execute o seguinte:

SELECT CONCAT('DROP TABLE ',
GROUP_CONCAT(CONCAT(table_schema,'.',table_name)),';')
FROM information_schema.tables WHERE table_schema='mydb'
AND table_name like 'taggregate_temp%';
PREPARE s1 FROM @dropcmd; EXECUTE s1; DEALLOCATE PREPARE s1;

Eu fiz a mesma técnica em outro post meu no DBA StackExchange . Esse post também tem uma demonstração da execução do código.

Experimente!

    
por 03.06.2014 / 03:26