Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL 5.6.10 InnoDB non può creare una tabella poiché la tabella esiste già

Le informazioni su una tabella sono memorizzate in due posizioni:

  1. File table.frm a livello di server
  2. Dizionario InnoDB specifico per il motore di archiviazione

Questi due devono essere sincronizzati, ma non esiste un meccanismo affidabile per rafforzare questa coerenza. A causa di una serie di motivi, il dizionario InnoDB non è sincronizzato.

Nel tuo caso c'è un record orfano nel dizionario. Devi eliminarlo.

InnoDB non fornisce alcun modo per modificare manualmente i record del dizionario. Ma puoi creare un falso file table.frm (se innodb_file_per_table=ON quindi anche table.ibd), inserirlo nella directory del database e rilasciare la tabella.

Le vecchie versioni di InnoDB potrebbero lamentarsi della mancata corrispondenza di SPACENO. Quindi controlla come correggere il dizionario InnoDB