Mysql:从select语句创建列

时间:2013-06-03 14:40:26

标签: mysql select insert

我想知道你是否可以根据Select语句的结果创建列。

Table 1:

availableColumns
-----------------
column1 -> record 1
column2 -> record 2
column3 -> record 3

因此,如果我从Table1中选择了availableColumns,我怎么能创建一个具有以下结构的表,结果必须用于创建列:

column1 | column2 | column3

如果我尝试:

CREATE TABLE test SELECT availableColumns FROM table1

我得到以下内容:

Column
------
Column1
Column2
Column3

因此,不是列,而是将结果作为我不想要的行。

提前致谢:)

1 个答案:

答案 0 :(得分:3)

您可以从Information Schema

中选择特定表的列列表
SELECT `COLUMN_NAME` 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='databasename' 
AND `TABLE_NAME`='tablename';

要创建表,只需使用它

CREATE TABLE test  SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA`='databasename' AND `TABLE_NAME`='tablename'; 

只需更改'databasename''tablename'即可适合您的实际数据库和表格