从表中获取列名称,它将每列返回两次

时间:2015-09-25 06:08:43

标签: php mysql

我得到了这个结果: -

Parameter1
Parameter2
Parameter3
Parameter1
Parameter2
Parameter3

但我想要这样的结果: -

Parameter1
Parameter2
Parameter3

代码

$query = "SELECT a.COLUMN_NAME, a.COLUMN_COMMENT FROM information_schema.COLUMNS a WHERE a.TABLE_NAME = 'telemetry_standard'";
                    $result = mysql_query($query);

                    while($fetch=mysql_fetch_assoc($result)){

                        if($fetch['COLUMN_COMMENT'] != ""){
                            $myarray[] = $fetch['COLUMN_NAME'];
                            $columnvalue[] = $fetch['COLUMN_COMMENT'];
                        }
                    }

2 个答案:

答案 0 :(得分:0)

您可以使用GROUP BY

$query = "SELECT DISTINCT a.COLUMN_NAME, a.COLUMN_COMMENT FROM 
       information_schema.COLUMNS a WHERE a.TABLE_NAME = 'telemetry_standard' AND 
       a.COLUMN_COMMENT <> '' GROUP BY COLUMN_NAME";

答案 1 :(得分:0)

您可能在两个不同的数据库中有两个具有相同名称的表。要解决此问题,请使用以下命令:

SELECT a.COLUMN_NAME, a.COLUMN_COMMENT 
 FROM information_schema.COLUMNS a 
 WHERE 
 a.TABLE_NAME = 'telemetry_standard'
 AND a.TABLE_SCHEMA = 'yourdatabase';