首页  >  文章  >  数据库  >  为什么我无法删除“已存在”的 MySQL 表?

为什么我无法删除“已存在”的 MySQL 表?

DDD
DDD原创
2024-10-27 03:37:02670浏览

 Why Can't I Drop a MySQL Table That

MySQL 表之谜:存在但不存在

在建表或修改表时遇到“表已存在”的悖论错误,却遇到“在删除尝试期间“未知表”,用户感到困惑并且无法解决该问题。

调查异常

检查数据库发现该表不存在在“显示表”和“描述”中报告该表不存在。令人惊讶的是,找不到 .frm 文件,并且尝试使用“如果不存在则创建表”来创建表失败。更糟糕的是,删除数据库会导致 MySQL 崩溃。

可能的解决方案

在分析了各种不成功的尝试后,根本原因似乎在于丢失的表文件。在数据目录中,没有相应数据文件的孤立 .frm 文件(反之亦然)可能会导致此问题。如果使用 innodb_file_per_table,请确保受影响的表存在 .frm 和 .ibd 文件。对于 MYISAM,预期的文件是 .frm、.MYI 和 .MYD。

解决 Enigma

要解决该问题,请手动从数据目录。这应该允许成功创建或删除受影响的表并解决数据库崩溃问题。

以上是为什么我无法删除“已存在”的 MySQL 表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn