2012-04-23 3 views
0

Как я могу получить имя столбца пустой записи из таблицы? Например:получить имя столбца в запросе

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

Он должен возвращать каждый заголовок пустой колонки из таблицы.

+2

Я не понимаю вашу точку зрения, не могли бы вы точнее это пожалуйста? – pomeh

+0

Это не может быть сделано с «нормальным» sql, если вы не будете дикими, очень дикими для него – gdoron

+1

это выглядит как плохой дизайн приложения – worenga

ответ

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

Если вы используете MySQL 5.0+, вы можете получить все имена столбцов за столом как это:

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

Примечание: Чейн $ table_name на имя вашего имени таблицы.

+0

ему нужны только имена столбцов для конкретной записи, которые остаются пустыми – worenga

1

Это также один метод:

$mysql_query = mysql_query("describe table"); 
while ($row = mysql_fetch_array($mysql_query)) { 
echo $row[0]."</br>"; 
} 
Смежные вопросы