2013-09-03 3 views
0

Можно ли удалить все таблицы, созданные конкретным пользователем? Как минимум, как я могу удалить все таблицы, которые я создал?Удалить все таблицы, созданные пользователем

+0

Никто не хочет объяснять, что проголосовали? Я думал, что обычной практикой является аренда комментариев, чтобы объяснить, почему вопрос считался нецелесообразным. Также, похоже, не было предыдущего дубликата. Угадав ответы, кажется, что в «MySQL» нет никакого пути к достижению цели, и это само по себе является полезным знанием и спасло бы других людей от значительных усилий, которые сталкиваются с той же проблемой в будущем. – abhinavkulkarni

+0

Вы можете сделать это, выполнив поиск в бинарных или общих журналах запросов, если у вас есть эти возможности. Это было бы довольно громоздко, но если вам нужно только написать его один раз, то, возможно, это будет стоить вам ... –

ответ

0

Используйте команду DROP:

DROP TABLE Table_name  
+3

Я думаю, что @abhinavkulkarni пытается удалить все таблицы, созданные определенным пользователем, а не только любой таблицей. – Mark

0

Вы можете создать подготовленные заявления -

SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables FROM information_schema.tables 
WHERE table_schema = 'myDatabase' AND table_name LIKE BINARY 'del%'; 

SET @tables = CONCAT('DROP TABLE ', @tables); 
PREPARE stmt1 FROM @tables; 
EXECUTE stmt1; 
DEALLOCATE PREPARE stmt1; 

Он будет генерировать и выполнить инструкцию, как это -

DROP TABLE myDatabase.del1, myDatabase.del2, myDatabase.del3; 
1

Там не появляется чтобы определить, какой пользователь создал таблицу в MySQL, поэтому вы не сможете удалить таблицу на основе создатель.

Ближе всего вы сможете надеяться, что во время создания таблицы был создан комментарий, содержащий имя пользователя. Вы можете получить комментарий к таблице:

select table_name from INFORMATION_SCHEMA.TABLES where table_comment like '%name%' 
Смежные вопросы