|
|
|
| Здравствуйте, подскажите как можно извлечить из базы один столбец (получить значения всех строчек) или другой при отсуствии первого, зная имена столбцов...
т.е. мы знаем что в базе данных существует либо поле 'name' либо 'title' надо получить значения существующего... Сделать это нужно скъюл запросом, т.е. способ извлечения поля и проверки была ли ошибка не годится (или получения описания таблицы)..
Зарание спасибо.. | |
|
|
|
|
|
|
|
для: dimon.st
(11.03.2006 в 18:20)
| | Удобнее это сделать в PHP, т.е. извлечь все записи
обработать их при помощи функции mysql_fetch_array(), а далее смотреть, если существует столбец name - использовать его, если нет - title
<?php
if(isset($result['name']))
{
// В таблице имеется поле name
}
else
{
// В противном случае используем поле title
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(11.03.2006 в 20:27)
| | Да можно, то можно... Только разумно ли извлекать все поля, особенно если больше половины не нужно.. и если прикинуть, что записи в бд не 255 значные .. может легче получить действительно все поля а там посмотреть нужные есть или нет... Как считаете? То есть в 2 запроса, раз в один каким-то хитрым синтаксисом нельзя(Кстати а можно проверить через sql функцию существование столбца при SELECT?).
Вот еще вопрос, а как можно с групировать в один запрос:
запрос на выяснения колличества строчек в таблице
запрос на получения перечьня столбцов | |
|
|
|
|
|
|
|
для: Dimon.st
(11.03.2006 в 22:12)
| | 1) Можно, действительно проверить существование столбца дополнительным запросом, но обычно каждый запрос к базе данных затратен по времени выполнения, а в случае предложенного двумя постами выше варианта - затраты идут только на память, которой под каждый скрипт отводится 8-16 Мб (для работы с базой данных обычно достаточно).
2) Нет в один запрос вряд ли получится - здесь два придётся выполнять... | |
|
|
|
|
|
|
|
для: cheops
(12.03.2006 в 13:00)
| | Согласен, спасибо. | |
|
|
|
|
|
|
|
для: Dimon.st
(12.03.2006 в 13:16)
| | В качестве первого из запросов можно применить
DESCRIBE tbl
или
SHOW COLUMNS FROM tbl
Обычно это не такой уж ёмкий запрос (по сравнению с выборкой целого столбца). | |
|
|
|