2012-04-23 4 views
0

テーブルから空のレコードの列名を取得するにはどうすればよいですか?例:クエリで列名を取得する

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

テーブルから空の列のすべてのタイトルを返す必要があります。

+2

? – pomeh

+0

あなたは野生の、それほど野生でない限り、 "普通の" sqlで行うことはできません – gdoron

+1

これは悪いアプリケーションデザインのように見えます – worenga

答えて

0

私は簡単のためのPHPでそれを行うだろう、しかし、擬似コードにDBMSレベルで

これを行うには、洗練されたMySQLのアプローチがあるかもしれません:

$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

あなたはこのように、テーブルのすべてのカラム名を取得することができ5.0+ MySQLを使用している場合:

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

注:あなたのテーブルの名前の名前にChane $ table_nameのを。

+0

彼は、特定のレコードの列名を空白にしたいだけです – worenga

1

これも一つの方法である:私はそれあなたのポイントは、あなたが正確にでき下さい得ることはありません

$mysql_query = mysql_query("describe table"); 
while ($row = mysql_fetch_array($mysql_query)) { 
echo $row[0]."</br>"; 
} 
関連する問題