Mysql View 在表为空时返回数据

标签 mysql sql sql-server mysql-workbench

我在使用 mysql 时遇到了一个奇怪的问题。我正在 C# 上开发一个可视化应用程序,将数据存储到数据库中。以前我使用 SQL 作为数据库,但我的客户改变了主意,改用 mysql。所以我在 mysql 上重新创建了相同的模式。现在发生了一件非常奇怪的事情:我的表完全是空的,但是当我执行 View 时,它们从旧的 SQL 表中返回数据,当我直接从表中读取时,它们显示为空。我用来连接的用户是不同的,最奇怪的是,即使我在mysql工作台上执行 View 时也会发生这种情况。我什至截断了mysql中的表,但仍然是同样的事情。有谁知道可能导致此异常的原因以及如何解决它?

附:工作台版本6.2; SQL版本SQL SERVER 2014

问候。

最佳答案

在 MySQL 中, View 是基于 SQL 语句结果集的虚拟表。 它包含行和列,就像数据库中的真实表一样。 View 中的字段是来自数据库中一个或多个实际表的字段。

当您执行 View 时,它们会从旧的 SQL 表返回数据。这是因为你的 View 仍然包含你刚才运行的数据。你忘记了每次执行它时都删除你的 View 。要删除 MySQL View ,请尝试以下操作:

DROP VIEW view_name

关于Mysql View 在表为空时返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28375923/

相关文章:

mysql - 如何直接从 MySQL 解密 Cakephp3 加密数据?

sql - PostgreSQL:如何连接两个字符不同的字段

sql-server - 在两个连续行之间插入记录的最佳方法是什么?

sql - 在带有 Date Between 的 where 子句中添加 case 语句

javascript - 查询图像结果一段时间后发生变化

mysql - 为了拥有主键,我应该添加一个 autoinc 主键吗?

mysql - 如何使 Between 子句的上限和下限依赖于 group by 子句定义的组

php - 更新后台数据库和网站

php - 根据另一个 MYSQL 查询结果对 MYSQL 查询进行排序

c# - 如何在 C# 中捕获 SQLException?