テーブルから空のレコードの列名を取得するにはどうすればよいですか? 例えば:
SELECT column.name FROM table WHERE id='1111' AND column_name=''
テーブルから空の列のすべてのタイトルを返す必要があります。
これも 1 つの方法です。
$mysql_query = mysql_query("describe table");
while ($row = mysql_fetch_array($mysql_query)) {
echo $row[0]."</br>";
}
mysql 5.0+ を使用している場合、次のようにテーブルのすべての列名を取得できます。
SELECT COLUMN_NAME
FROM `information_schema`.`COLUMNS`
WHERE TABLE_NAME='$table_name'
ORDER BY ORDINAL_POSITION
注: $table_name をテーブルの名前に変更します。
簡単にするために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;
}
}
前に述べたように、これは見た目が悪く、データ構造の設計が悪いように見えます。