2015-08-09 3 views
0

Позвольте пояснить, что я новичок в mysql. Я пытаюсь сделать что-то вроде следующего:Создание таблицы в mydatabase из результатов запроса информационной схемы

CREATE TABLE my_table as (SELECT * FROM 
    INFORMATION_SCHEMA.TABLES 
WHERE 
    TABLE_SCHEMA = 'mydatabase' 
     AND table_type = 'base table'); 

Затем, когда я проверяю mydatabase, my_table нет. Что мне не хватает?

ответ

0

Учитывая таблицу с именем table1, которые содержат два поля:

  • id
  • querytoexecute

Вы можете заполнить querytoexecute с запросами SQL. См. Пример ниже, содержащий две записи, создающие две таблицы: my_table1 и my_table2.

___________________________________________________ 
|ID | querytoexecute        | 
|1 | CREATE TABLE my_table1 (ID int, Name TEXT); | 
|2 | CREATE TABLE my_table2 (ID int, Name TEXT); | 
___________________________________________________| 

Затем выберите запись, чтобы выполнить с помощью следующего запроса:

set @queryfromtable:= (select querytoexecute from table1 where id = 1); 
PREPARE stmt FROM @queryfromtable; 
EXECUTE stmt; 
DEALLOCATE PREPARE stmt; 
+0

Если это не полезно, просто удалите его тогда? – emotality

+0

это ответ на этот вопрос, если вы выберете информацию из базы данных схемы, вы можете создать любую таблицу. почему вы считаете, что это не полезно? я могу удалить, но я думаю, что многие люди могут найти очень полезный этот образец! –

+0

Ваше правление говорит, что вы очищаете ответ, потому что он не был полезен, и мне пришлось пересмотреть ваше редактирование? Я не хочу его удалять .. Я просто отказался от редактирования lol – emotality

Смежные вопросы