Informacje o tabeli są przechowywane w dwóch miejscach:
- Plik table.frm dla całego serwera
- Słownik InnoDB specyficzny dla pamięci masowej
Te dwa elementy muszą być zsynchronizowane, ale nie ma niezawodnego mechanizmu wymuszania tej spójności. Z wielu powodów słownik InnoDB nie jest zsynchronizowany.
W twoim przypadku w słowniku jest osierocony rekord. Musisz go usunąć.
InnoDB nie zapewnia żadnego sposobu na ręczne modyfikowanie rekordów słownika. Ale możesz stworzyć fałszywe pliki table.frm (jeśli innodb_file_per_table=ON, to także table.ibd), umieścić je w katalogu bazy danych i upuścić tabelę.
Stare wersje InnoDB mogą narzekać na niedopasowanie SPACENO. Następnie sprawdź, jak to zrobić napraw słownik InnoDB