Проверка существования таблицы в базе MySql

dr_z10

Новичок
Проверка существования таблицы в базе MySql

Здравы будьте!

Подскажите, пожалуйста, каким образом можно проверить существование таблицы (в процессе выполнения PHP кода)?
К сожалению, ни на форуме, ни в мануале не нашёл ответа на свой вопрос.

Блин, промахнулся. Модеры, перенесите в PHP & Mускуль, plz!
 

voituk

прозревший
Первое что приходит на ум - разбирать результат запроса:
[sql]SHOW TABLES;[/sql]

Или же лезть в системную базу mysql но возможно прав не будет.
 

dr_z10

Новичок
А если так:
PHP:
$status = mysql_fetch_assoc(mysql_query("CHECK TABLE tablename"));
if (($status['Msg_type'] == 'error') && ($status['Msg_text'] == "Table 'base.tablename' doesn't exist")) {
   $exists = 0;
}else{
   $exists = 1;
}

Уверен, что все сейчас начнут орать во всё горло, что способ - фуфло, но он работает. Единственное, что меня смущает - это его корявость.

2Фанат
Я имел в виду прямой ответ на вопрос типа см. subj
Если есть такой, будь добр ткнуть меня в него носом, буду благодарен.
 

slach

Новичок
dr_z10

SHOW TABLES LIKE 'table_name'
тебе сказали уже...

и не трахай мозг с повторным созданием таблицы... он не просто корявый, а через чур корявый =)

другое дело, что возможно ты хочешь СОЗДАТЬ ТАБЛИЦУ, если она еще не создана??

тогда CREATE TABLE IF NOT EXISTS table_name
 

dr_z10

Новичок
Автор оригинала: slach
и не трахай мозг с повторным созданием таблицы... он не просто корявый, а через чур корявый =)
Первое, что пришло в голову...

другое дело, что возможно ты хочешь СОЗДАТЬ ТАБЛИЦУ, если она еще не создана?? тогда CREATE TABLE IF NOT EXISTS table_name
SHOW TABLES LIKE... :: спасибо, теперь буду читать мануал ещё внимательнее...

CREATE TABLE IF NOT EXISTS... :: быыылин... Не подумал - это тоже можно использовать...
 
Сверху