2014-11-02 144 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连接器和微软的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,那么所有三个表都存在。