MySql 对同名数据库的奇怪行为

标签 mysql phpmyadmin zend-server

我有一个通过 phpMyAdmin 创建的数据库。然后我通过脚本在其中创建表来更新它。到目前为止一切都很好,然后我就用它。两天后我完全删除了这个数据库。然后我用不同的名称创建另一个,并在其中创建一些东西。也放下吧然后我创建一个与第一个数据库同名的数据库,再次在其中创建表。我就这样留下来,结果发现第二天登录时我得到了第一个数据库(及其内容),而不是我期望的东西。

无论你如何转动它,这种奇怪的行为都会发生。我认为相同的名称不是问题,因为我知 Prop 有不同名称的数据库可能会发生这种情况。 (我试过了)

基本上这就像这东西忘记了它的状态。怎么了?有任何想法吗? 这件事让我发疯,因为我无法做任何事情而不担心丢失数据。

我正在使用 Windows 和 Zend Server。 我不会意外地掉落 table 或类似的东西。

编辑:似乎立即重新启动没有任何效果(意味着它保持原样,随机更改仅在一段时间(超过一天)后发生

最佳答案

数据库作为文件夹存储在磁盘上,其中包含:

  • 一个描述每个表结构的文件
  • 另一个包含所有表行的文件
  • 您定义的每个索引/键都有一个文件
  • 一些文件(仅分配的 block )旨在允许存储大型数据,例如不驻留在表行中的文本列或 blob 列(这些行仅引用 blob 所在的位置)。<

删除表时,操作系统会删除一些文件。删除数据库时,操作系统会删除文件夹。

数据库文件夹有可能(尽管可能性很小)一开始就没有正确删除 - 无论是服务器安装方式的权限问题、服务器错误还是 phpMyAdmin 错误。

关于MySql 对同名数据库的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22762131/

相关文章:

php - 允许照片在 mysql 图片库中的多个相册中的多对多表关系

php - 在 IBM i 7.1 上,是否可以从 PHP cURL 扩展访问 *SYSTEM 证书库?

mysql - 无法仅恢复 mariadb 中的数据?

mysql - Sequelize "unique: true"使用不同的键名两次制作相同的唯一键

mysql 结果按 future 和过去的日期

mysql - 在 MySQL/MariaDB 中创建存储过程时出错

mysql - 尝试使用 BETWEEN 条件返回基于日期的行但没有得到结果

php - 需要帮助升级 PEAR 以安装 PHPUnit

mysql - 无法建立连接,因为目标机器主动拒绝它(PHP/WAMP)

java - 如何将带连字符的 mysql 枚举类型映射到 JPA 实体?