2014-11-02 5 views
0

Я хочу проверить с помощью Mysql, если существуют 3 таблицы, но почему-то это не работает с более чем 1 таблицей? Как проверить, существуют ли 3 таблицы?Проверить наличие нескольких таблиц mysql

Select count(*) From information_schema.tables 
    where table_schema = 'userbook' and table_name = 'entry' 
    and table_name = 'stats' and table_name = 'user'; 

Я работаю с MySQL-Connector и Microsoft Visual Studio 2012.

ответ

2

Прямо сейчас, ваш ищет таблицу, которая имеет название entry имя stats и имя user - все в в то же время. Ваш COUNT всегда будет 0 на этом!

Вы должны использовать OR оператор вроде этого:

SELECT COUNT(*) 
FROM information_schema.tables 
WHERE 
    table_schema = 'userbook' AND 
    (table_name = 'entry' OR 
    table_name = 'stats' OR 
    table_name = 'user') 

Вы также можете использовать IN, который немного легче поддерживать:

SELECT COUNT(*) 
FROM information_schema.tables 
WHERE 
    table_schema = 'userbook' AND 
    table_name IN ('entry','stats','user') 

В обоих случаях: если кол равно 3, тогда существуют все три таблицы.

Смежные вопросы