我有一个通过 phpMyAdmin 创建的数据库。然后我通过脚本在其中创建表来更新它。到目前为止一切都很好,然后我就用它。两天后我完全删除了这个数据库。然后我用不同的名称创建另一个,并在其中创建一些东西。也放下吧然后我创建一个与第一个数据库同名的数据库,再次在其中创建表。我就这样留下来,结果发现第二天登录时我得到了第一个数据库(及其内容),而不是我期望的东西。
无论你如何转动它,这种奇怪的行为都会发生。我认为相同的名称不是问题,因为我知 Prop 有不同名称的数据库可能会发生这种情况。 (我试过了)
基本上这就像这东西忘记了它的状态。怎么了?有任何想法吗? 这件事让我发疯,因为我无法做任何事情而不担心丢失数据。
我正在使用 Windows 和 Zend Server。 我不会意外地掉落 table 或类似的东西。
编辑:似乎立即重新启动没有任何效果(意味着它保持原样,随机更改仅在一段时间(超过一天)后发生
最佳答案
数据库作为文件夹存储在磁盘上,其中包含:
- 一个描述每个表结构的文件
- 另一个包含所有表行的文件
- 您定义的每个索引/键都有一个文件
- 一些文件(仅分配的 block )旨在允许存储大型数据,例如不驻留在表行中的文本列或 blob 列(这些行仅引用 blob 所在的位置)。<
删除表时,操作系统会删除一些文件。删除数据库时,操作系统会删除文件夹。
数据库文件夹有可能(尽管可能性很小)一开始就没有正确删除 - 无论是服务器安装方式的权限问题、服务器错误还是 phpMyAdmin 错误。
关于MySql 对同名数据库的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22762131/