Cara Mengatasi Error " #1025 - Error on rename of... "

Pernahkah kita mencoba menghapus foreign key tetapi ternyata tidak berhasil dan menampilkan error seperti berikut:
#1025 - Error on rename of '.\db_tokobuku\tb_buku' to '.\db_tokobuku\#sql2-1654-68' (errno: 152)
Padahal query untuk menghapus sudah benar, seperti ini:
ALTER TABLE tb_buku DROP FOREIGN KEY id_penerbit

Terus apa masalahnya ?

Ternyata e ternyata, kita tidak dapat menghapus Foreign Key menggunakan nama field aslinya, untuk menghapus kita perlu mengetahui nama lainnya.

Berikut cara untuk mengetahui nama lain dari Foreign Key tersebut:
SHOW CREATE TABLE <nama tabel>;

misal:
SHOW CREATE TABLE tb_buku;

berikut hasilnya:
Cara Mengatasi Error " #1025 - Error on rename of... "

Terus sebenarnya apa nama aslinya ?

Coba lihat pada query tersebut setelah CONSTRAINT, dan dari contoh di atas kita dapat mengambil kesimpulan bahwa namanya adalah tb_buku_ibfk_1

Sekarang coba lakukan penghapusan dengan query berikut:
ALTER TABLE <nama table> DROP FOREIGN KEY <nama lain fieldnya>

misal:
ALTER TABLE tb_buku DROP FOREIGN KEY tb_buku_ibfk_1


dan taaaaraaaaa, FOREIGN KEY pun berhasil dihapus tanpa ada error lagi.. :-D

No comments:
Write komentar