2016-02-26 24 views
0

我已经创建了一个表格和脚本,在必要时动态修改。为动态创建的列MYSQL选择变量

因此,在罕见的时间点需要一个表列,因为它不存在。然后将它添加到表格的末尾。类似如下:

╔═════════════════════════════════════════════════════════════╗ 
║ +----+------+------+------------------+-------------------+ ║ 
╠═════════════════════════════════════════════════════════════╣ 
║ | id | Col2 | Col3 | dynamicallyadded | dynamicallyadded2 | ║ 
║ +----+------+------+------------------+-------------------+ ║ 
║ | 1 | 33 | 3 |    3 |     3 | ║ 
║ | 2 | 44 | 4 |    1 |     1 | ║ 
║ | 3 | 45 | 23 |    533 |    533 | ║ 
║ +----+------+------+------------------+-------------------+ ║ 
╚═════════════════════════════════════════════════════════════╝ 

因此添加了已添加动态添加的列。现在

,如果我要选择我无法弄清楚如何动态生成的列信息,如下简要说明变量(记住这些动态列在后台创建)的列:

$selectVar = Select statement when id = '1'; 
$dynamic1 = $selectVar ->dynamicallyadded; 
$dynamic2 = $selectVar ->dynamicallyadded2; 

echo '$dynamic1 and $dynamic2'; 

所以当我把这个吐出来作为一个报告时,我希望能够吐出每个动态列的报告,尽管我不知道id列后的列名是什么。

我一直在计算列的摆弄,但我不确定这是一条很好的路线。更好的想法

+0

你可以用'SELECT *'然后'FETCH_ASSOC()'会返回一个关联数组将所有列名称作为关键字。然后,您可以循环查看所有列。 – Barmar

回答

0

DESCRIBE my_table;

SHOW COLUMNS FROM table;

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'database' AND TABLE_NAME = 'table';

+0

嗨加文。这怎么可能适用于生成变量呢?我对此感到困惑? – hfw

+0

我不确定我完全理解。如果列名未知,我认为你只需要表的列名。 – Gavin

+0

将结果作为关联数组获取将具有列名称作为键名称。 – Gavin