让我澄清一下,我是mysql的新手。我正在尝试做以下事情:
CREATE TABLE my_table as (SELECT * FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = 'mydatabase'
AND table_type = 'base table');
然后当我检查mydatabase
时,my_table
不存在。我错过了什么?
答案 0 :(得分:0)
给定一个名为table1
的表,其中包含两个字段:
id
querytoexecute
您可以使用SQL请求填充querytoexecute
。
请参阅下面的示例,其中包含两个创建两个表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;