sql >> Database >  >> RDS >> Mysql

MySQL 5.6.10 InnoDB kan geen tabel maken omdat de tabel al bestaat

Informatie over een tafel wordt op twee plaatsen opgeslagen:

  1. Server-breed table.frm-bestand
  2. Storage-engine specifiek InnoDB-woordenboek

Deze twee moeten synchroon lopen, maar er is geen betrouwbaar mechanisme om deze consistentie af te dwingen. Om een ​​aantal redenen loopt het InnoDB-woordenboek niet synchroon.

In jouw geval staat er een verweesd record in het woordenboek. Je moet het verwijderen.

InnoDB biedt geen enkele manier om de woordenboekrecords handmatig te wijzigen. Maar je kunt nep-table.frm-bestanden maken (als innodb_file_per_table=ON en dan ook table.ibd), deze in de databasedirectory plaatsen en de tabel neerzetten.

Oude versies van InnoDB kunnen klagen over niet-overeenkomende SPACENO. Controleer vervolgens hoe InnoDB-woordenboek repareren




  1. ActiveRecord::StatementInvalid:Mysql2::Error:Kan een bovenliggende rij niet verwijderen of bijwerken - Rails 4.2.6

  2. Hoe verwijder ik specifieke rijen in SQLite Database?

  3. MySQL Vraag over planning

  4. Hoe installeer ik de Python MySQLdb-module met pip?