MySQL Error Nr. 1005 Yang Bikin Pusing

Hal yang paling saya benci ketika menggunakan Foreign Key di MySQL adalah jika mendapat pesan kesalahan "MySQL Error Nr. 1005". Pesan ini menurut saya terlalu abstrak, karena hanya memberi tahu bahwa MySQL tidak bisa membuat tabel/mengupdate tabel tanpa memberi tahu penyebab sebenarnya.

Ada beberapa penyebab gagalnya mendefenisikan Foreign Key di MySQL, seperti:

  • Kedua tabel tidak menggunakan engine InnoDb
  • Field pada tabel referensi tidak merupakan index
  • Kedua field tidak mempunyai tipe data yang sama

Masih ada beberapa hal lagi penyebab gagalnya Foreign Key tersebut, untuk lebih jelasnya tentang Foreign Key di MySQL bisa dilihat di sini.

Dengan beberapa penyebab tersebut, maka jika mendapat pesan kesalahan "MySQL Error Nr. 1005" membuat kita meraba - raba tentang kondisi yang mana yang menyebabkan kita mendapatkan pesan tersebut.

Setelah melakukan pencarian di google untuk memecahkan masalah ini, sampai akhirnya saya menemukan tautan berikut. Dari tautan tersebut, dijelaskan bahwa kita bisa melihat pesan kesalahan yang sebenarnya terjadi dengan menjalankan perintah berikut dari mysql client.

SHOW INNODB STATUS\G

Kemudian cari bagian

-------------------------
LATEST FOREIGN KEY ERROR
-------------------------

Pada bagian ini anda bisa melihat apa sebenarnya yang membuat gagalnya Foreign Key yang sudah didefenisikan. Dan untuk dapat menjalankan perintah "SHOW INNODB STATUS" anda harus menggunakan akun root.

Semoga tulisan ini bermanfaat buat kita semua dan Selamat Tahun Baru 2009, Semoga Tahun Ini Menjadi Tahun Yang Lebih Baik Dari Tahun Sebelumnya.

Wassalam.

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options