Pertama-tama, Anda harus tahu bahwa kunci dan indeks adalah sinonim di MySQL. Jika Anda melihat dokumentasi tentang Sintaks CREATE TABLE , Anda dapat membaca:
KEY
biasanya merupakan sinonim untuk INDEX
. Atribut kunci PRIMARY KEY
juga dapat ditetapkan seperti yang KEY
diberikan dalam definisi kolom. Ini diimplementasikan untuk kompatibilitas dengan sistem database lain.
Sekarang, jenis kesalahan yang Anda dapatkan bisa disebabkan oleh dua hal:
- Masalah disk di server MySQL
- Kunci / tabel rusak
Dalam kasus pertama, Anda akan melihat bahwa menambahkan batas ke kueri Anda mungkin menyelesaikan masalah untuk sementara. Jika itu berhasil untuk Anda, Anda mungkin memiliki tmp
folder yang terlalu kecil untuk ukuran kueri yang Anda coba lakukan. Anda kemudian dapat memutuskan atau tmp
memperbesar, atau membuat kueri Anda lebih kecil! ;)
Terkadang, tmp
cukup besar tetapi masih penuh, Anda perlu melakukan pembersihan manual dalam situasi ini.
Dalam kasus kedua, ada masalah aktual dengan data MySQL. Jika Anda dapat memasukkan kembali data dengan mudah, saya akan menyarankan untuk hanya menjatuhkan / membuat ulang tabel, dan memasukkan kembali data. Jika Anda tidak bisa, Anda dapat mencoba memperbaiki meja di tempatnya dengan meja REPAIR . Ini adalah proses yang umumnya panjang dan mungkin akan gagal.
Lihat pesan kesalahan lengkap yang Anda dapatkan:
File kunci salah untuk tabel 'FILEPATH.MYI'; coba perbaiki
Itu menyebutkan dalam pesan bahwa Anda dapat mencoba memperbaikinya. Juga, jika Anda melihat FILEPATH aktual yang Anda dapatkan, Anda dapat mengetahui lebih lanjut:
jika itu seperti /tmp/#sql_ab34_23f
itu berarti MySQL perlu membuat tabel sementara karena ukuran kueri. Ini menyimpannya di / tmp, dan tidak ada cukup ruang di / tmp Anda untuk tabel sementara itu.
jika itu berisi nama tabel sebenarnya, itu berarti tabel ini kemungkinan besar rusak dan Anda harus memperbaikinya.
Jika Anda mengidentifikasi bahwa masalah Anda adalah dengan ukuran / tmp, baca saja jawaban ini untuk pertanyaan serupa untuk perbaikan: MySQL, Kesalahan 126: File kunci salah untuk tabel .