MySQL,从TableRow创建表
我想知道,是否有可能从其他现有表行创建一个新表。 例如: 表:表XMySQL,从TableRow创建表,mysql,relational-database,Mysql,Relational Database,我想知道,是否有可能从其他现有表行创建一个新表。 例如: 表:表X ID | user* | row_1 | row_2 | row_3 | etc ---------------------------------------------------- 1 | Carl | name1 | name2 | name3 | etc -> Create new Table, with refering columns 2 | Max
ID | user* | row_1 | row_2 | row_3 | etc
----------------------------------------------------
1 | Carl | name1 | name2 | name3 | etc -> Create new Table, with refering columns
2 | Max | abc1 | abc2 | abc3 | etc
创建新表:用户*
ID | user* | name1 | name2 | name3 | etc <- Insert Row form Table "TablesX"
----------------------------------------------------
1 | Carl | info1 | info2 | info3 | etc
2 | Carl | x | x | x | etc
ID | user*| name1 | name2 | name3 |等您可以通过将预期查询与以下值结合起来动态生成CREATE TABLE
查询:
架构(MySQL v5.7)
查询#1
SELECT CONCAT('CREATE TABLE `user*` (ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, `user*` VARCHAR(255), `', t.row_1, '` VARCHAR(255), `', t.row_2, '` VARCHAR(255), `', t.row_3, '` VARCHAR(255));') "SQL"
FROM TablesX t
ORDER BY t.ID
LIMIT 1;
输出
| SQL |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CREATE TABLE `user*` (ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, `user*` VARCHAR(255), `name1` VARCHAR(255), `name2` VARCHAR(255), `name3` VARCHAR(255)); |
现在,您可以执行查询,也可以简单地复制/粘贴并手动执行它Yes。这是可能的。有关更多帮助,请参阅:
| SQL |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CREATE TABLE `user*` (ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, `user*` VARCHAR(255), `name1` VARCHAR(255), `name2` VARCHAR(255), `name3` VARCHAR(255)); |