Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Наличие таблицы 
V
    Опции темы
drpain
Дата 7.4.2008, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 27.9.2007

Репутация: нет
Всего: нет



Доброго времени суток!!!

Сорри если такая тема была, но найти не смог.


Поскажите как запросом корректно определить есть ли в БД таблица с нужным мне названием?

(пишу модуль который может использовать другой модуль, но не факт что второй модуль будет стаять в ядре, хотелось бы без ошибок узнавать есть ли нужная таблица в БД или нет)

Зарание спасибо
PM MAIL   Вверх
Fortop
Дата 7.4.2008, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 3
Всего: 42



Ээээх, так и тянутся руки написать что-то вроде 
Код

if (false != mysql_query('DROP TABLE ' . $table)) {
echo 'Таблица ' .  $table . ' у вас была!';
}

smile

А если серьезно, то для MySQL
http://ua2.php.net/manual/ru/function.mysql-list-tables.php

Для других баз может быть иначе.
У тебя какая БД?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
drpain
Дата 7.4.2008, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 27.9.2007

Репутация: нет
Всего: нет



Спасибо!!!

а нет ли способа типа в одну строку, ну чтото вроде 

Код

IF( EXISTS (SELECT * FROM 'My_table')) return true
ELSE return false


ну вот чтото вроде этого.... в одном запросе


список это хорошо, но вот так вот хотелось бы smile 
PM MAIL   Вверх
Fortop
Дата 7.4.2008, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 3
Всего: 42



БД какая?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
drpain
Дата 7.4.2008, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 27.9.2007

Репутация: нет
Всего: нет



MySQL
PM MAIL   Вверх
Fortop
Дата 7.4.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 3
Всего: 42





--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
ksnk
Дата 7.4.2008, 15:22 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 386



drpain, А если нет, то что делать? Заново создавать? Тогда можно сразу 
Код

CREATE TABLE IF NOT EXISTS ...
 Тоже какой-то результат возвращает... Зато после работы таблица уже есть...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
drpain
Дата 7.4.2008, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 27.9.2007

Репутация: нет
Всего: нет



Разобрался, то что нужно, Спасибо, Fortop !!!

Добавлено через 1 минуту и 25 секунд
ksnk, неа, создавать не надо, просто вывод статистических данных, есть таблица, есть данные, нет таблицы, нет данных  smile 
PM MAIL   Вверх
Feldmarschall
Дата 7.4.2008, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



неправильный подход.
таблица должна быть всегда
PM   Вверх
Fortop
Дата 7.4.2008, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 3
Всего: 42



Цитата(Feldmarschall @  7.4.2008,  16:27 Найти цитируемый пост)
таблица должна быть всегда 

Если она обслуживается исключительно одним модулем, а модуля нет. То и таблица не нужна smile
Другой вопрос, что стоило бы как-то иначе определять наличие именно модуля smile а не наличие таблицы

Это сообщение отредактировал(а) Fortop - 7.4.2008, 21:46


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Feldmarschall
Дата 7.4.2008, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



Fortop, я думаю, здесь дело не в модуле, а в неправильной организации БД.
PM   Вверх
Fortop
Дата 7.4.2008, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 3
Всего: 42



Feldmarschall, 
видимо, по сравнению со мной у тебя телепатия более развита (вот он опыт, который не пропьешь) smile Я понятия не имею как организована там БД и для каких целей она вообще используется smile


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
flashaa
Дата 7.4.2008, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 2
Всего: 25



1) SHOW TABLES LIKE ...
2) mysql_num_rows
?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0562 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.