sql >> データベース >  >> RDS >> Mysql

MySQL 5.6.10テーブルがすでに存在するため、InnoDBはテーブルを作成できません

    テーブルに関する情報は2つの場所に保存されます:

    1. サーバー全体のtable.frmファイル
    2. ストレージエンジン固有のInnoDBディクショナリ

    これら2つは同期している必要がありますが、この一貫性を強制するための信頼できるメカニズムはありません。いくつかの理由により、InnoDBディクショナリが同期しなくなります。

    あなたの場合、辞書に孤立したレコードがあります。削除する必要があります。

    InnoDBには、辞書レコードを手動で変更する方法はありません。ただし、偽のtable.frm(innodb_file_per_table =ONの場合はtable.ibdも)ファイルを作成し、それをデータベースディレクトリに配置して、テーブルを削除することはできます。

    古いバージョンのInnoDBは、SPACENOの不一致について文句を言う可能性があります。次に、方法を確認します。 InnoDB辞書を修正する




    1. MySQLの半径に応じて、バウンディングボックス内の長い/緯度のポイントをマージします

    2. PostgreSQL、既存のテーブルを再構成し、主キーをtype=serialに変更します

    3. MySQL8-特定のデータベースにあるすべてのストアドプロシージャを削除する

    4. MySQLを使用した大規模な結果セットのストリーミング