c# - 检查mysql表是否存在多个

标签 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。

最佳答案

现在,您正在寻找一个名为 entrystats 和名称 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,则所有三个表都存在。

关于c# - 检查mysql表是否存在多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26704908/

相关文章:

c# - DateTime.Now 在 PST 服务器上表示为 GMT 时间

mysql - WHERE条件是否扫描整个表?

python - 使用另一个表中的值更新字段

c# - List<> 中存在 null 元素的自定义 XmlSerializer 问题

c# - 确定 foreach 中的顺序(pnl 中的面板 p)

使用 GROUP BY 和 ORDER BY 时间戳 DESC 的 MySQL 查询

mysql - 为什么我在 mysql 上得到一个随机负数?

mysql - 无法在同一 Docker 容器中从 Python 访问 MySQL 数据库

python - 在 Django 1.11 中使用 MySQL 连接器/Python 时出错

c# - 以编程方式取消发布 sitecore 项目