DDL di InnoDB tidak bersifat transaksional sehingga mungkin saja informasi dalam file .frm dan kamus InnoDB berbeda. Dalam kasus Anda, sepertinya file .frm tidak ada tetapi ada record yang tidak digunakan lagi di kamus (well, sebenarnya record di beberapa tabel SYS_* kamus).
Anda tidak dapat dengan mudah menghapus catatan dari kamus. Anda memerlukan file .frm masing-masing sehingga MySQL meneruskan DROP Anda ke level InnoDB. Dengan RDS Anda tidak bisa melakukannya.
Tapi Anda bisa DROP seluruh database. Dalam hal ini InnoDB akan menghapus semua catatan dari kamus termasuk yang yatim piatu.
Jadi, untuk membersihkan kamus Anda, saya sarankan berikut ini:
- Hentikan semua lalu lintas ke MySQL, jadikan hanya-baca
- Buat database sementara
adstudio_tmp
RENAME
semua tabel dariadstudio
keadstudio_tmp
DROP DATABASE adstudio
. Pada titik ini kosong.DROP
akan menghapus semua entri dalam kamus InnoDB.RENAME
semua tabel kembali dariadstudio_tmp
keadstudio
Setelah ini kamus akan bersih dan Anda akan dapat membuat data_feed_param
Anda .
Saya menjelaskan masalah serupa setelah ALTER tidak berhasil TABEL . Lihat untuk detail lebih lanjut.