2012-04-23 67 views
0

如何從表中獲取空記錄的列名?例如:在查詢中獲取列名

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

它應該從表中返回空列的每個標題。

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

注:沙內$表名,以你的表的名稱的名稱如果用mysql 5.0以上就可以得到一個表的所有列名這樣

+2

我不明白你的意思,你能不能精確它嗎? – pomeh 2012-04-23 12:28:54

+0

它不能與「正常」的SQL做,除非你瘋了,非常狂放 – gdoron 2012-04-23 12:31:46

+1

這看起來像一個糟糕的應用程序設計 – worenga 2012-04-23 12:32:12

回答

0

我會用PHP做它爲簡單起見,但有可能是一個複雜的MySQL方法在僞做到這一點,在DBMS級別

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

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

正如我前面提到的,這看起來醜陋看起來像一個糟糕的數據結構設計。

1

+0

他只想要留空的特定記錄的列名 – worenga 2012-04-23 12:38:49

1

這也是一個方法:

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