4

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

Table 1:

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

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

column1 | column2 | column3

如果我尝试:

CREATE TABLE test SELECT availableColumns FROM table1

我得到以下信息:

Column
------
Column1
Column2
Column3

因此,我得到的结果不是列,而是我不想要的行。

提前致谢 :)

4

1 回答 1

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'适合您的实际数据库和表

于 2013-06-03T14:44:07.687 回答