Heim >Datenbank >MySQL-Tutorial >Warum kann ich eine MySQL-Tabelle, die „bereits existiert', nicht löschen?
MySQL Table Enigma: Vorhanden und doch nicht vorhanden
Während der Tabellenerstellung oder -änderung steht man vor dem paradoxen Fehler „Tabelle existiert bereits“ und stößt dennoch auf „ „Unbekannte Tabelle“ während Löschversuchen, Benutzer waren verwirrt und konnten das Problem nicht lösen.
Untersuchung der Anomalie
Eine Untersuchung der Datenbank ergab, dass die Tabelle fehlte in „Tabellen anzeigen“ und „Beschreiben“ meldet, dass die Tabelle nicht existiert. Überraschenderweise kann keine .frm-Datei gefunden werden und Versuche, die Tabelle mit „Tabelle erstellen, falls nicht vorhanden“ zu erstellen, schlagen fehl. Erschwerend kommt hinzu, dass das Löschen der Datenbank zu MySQL-Abstürzen führt.
Mögliche Lösung
Nach der Analyse verschiedener erfolgloser Versuche scheint die zugrunde liegende Ursache in fehlenden Tabellendateien zu liegen. Im Datenverzeichnis kann eine verwaiste .frm-Datei ohne die entsprechende Datendatei oder umgekehrt dieses Problem verursachen. Wenn Sie innodb_file_per_table verwenden, stellen Sie sicher, dass sowohl .frm- als auch .ibd-Dateien für die betroffene Tabelle vorhanden sind. Für MYISAM sind die erwarteten Dateien .frm, .MYI und .MYD.
Das Rätsel lösen
Um das Problem zu beheben, löschen Sie die verwaiste Datei manuell aus dem Datenverzeichnis. Dies sollte eine erfolgreiche Erstellung oder Löschung der betroffenen Tabelle ermöglichen und das Problem des Datenbankabsturzes beheben.
Das obige ist der detaillierte Inhalt vonWarum kann ich eine MySQL-Tabelle, die „bereits existiert', nicht löschen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!