Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL,从TableRow创建表_Mysql_Relational Database - Fatal编程技术网

MySQL,从TableRow创建表

MySQL,从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

我想知道,是否有可能从其他现有表行创建一个新表。 例如:

表:表X

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)); |