InnoDBのDDLはトランザクションではないため、.frmファイルとInnoDBディクショナリの情報が異なる可能性があります。あなたの場合、.frmファイルが欠落しているように見えますが、ディクショナリに孤立したレコードがあります(実際には、いくつかのディクショナリSYS_ *テーブルにレコードがあります)。
辞書からレコードを簡単に削除することはできません。 MySQLがDROPをInnoDBレベルに渡すように、それぞれの.frmファイルが必要です。 RDSではそれを行うことはできません。
ただし、データベース全体を削除することはできます。その場合、InnoDBは、孤立したレコードを含むすべてのレコードをディクショナリから削除します。
したがって、辞書をきれいにするために、次のことをお勧めします:
- MySQLへのすべてのトラフィックを停止し、読み取り専用にします
- 一時データベースを作成する
adstudio_tmp -
RENAMEadstudioのすべてのテーブルadstudio_tmpへ -
DROP DATABASE adstudio。この時点では空です。DROPInnoDBディクショナリのすべてのエントリを消去します。 -
RENAMEadstudio_tmpから戻ったすべてのテーブルadstudioへ
この後、辞書はクリーンになり、data_feed_paramを作成できるようになります。 。
失敗した後、同様の問題について説明しました。表 。詳細については、チェックしてください。