获取查询中的列名称

时间:2012-04-23 12:26:31

标签: php sql database

如何从表中获取空记录的列名?例如:

SELECT column.name FROM table WHERE id='1111' AND column_name=''

它应该从表中返回空列的每个标题。

3 个答案:

答案 0 :(得分:1)

如果你使用mysql 5.0+,你可以获得一个表的所有列名,如下所示:

SELECT COLUMN_NAME
FROM `information_schema`.`COLUMNS`
WHERE TABLE_NAME='$table_name'
ORDER BY ORDINAL_POSITION

注意:Chane $ table_name为表名的名称。

答案 1 :(得分:1)

这也是一种方法:

$mysql_query = mysql_query("describe table");
while ($row = mysql_fetch_array($mysql_query)) {
 echo $row[0]."</br>";
}

答案 2 :(得分:0)

为了简单起见,我会用php来做,但是在dbms级别可能有一个复杂的mysql方法

在PseudoCode中:

$result = MYSQL_FETCH_ASSOC ( MYSQL_QUERY( SELECT * FROM table WHERE id='1111' ) )

$blankCols = array();
foreach($result[0] as $key=>$value){
   if($value=="")
   {
      $blankCols[] = $key;
   }
}

正如我之前提到的,这看起来很丑陋,看起来像是一个糟糕的数据结构设计。