检查是否存在多个mysql表

时间:2014-11-02 21:56:01

标签: c# mysql mysql-connector

我想用Mysql检查一下,如果存在3个表,但不知何故,这对多于1个表不起作用?如何检查是否存在3个表?

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。

1 个答案:

答案 0 :(得分: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,则存在所有三个表。