Ralat Kekangan Kunci Asing dalam MySQL: Punca Akar dan Penyelesaian
Ralat "ERROR 1215 (HY000): Tidak boleh menambah kekangan kunci asing" timbul apabila mentakrifkan rujukan kunci asing antara dua jadual dalam MySQL. Untuk menangani isu ini, adalah penting untuk memastikan bahawa kriteria khusus dipenuhi untuk kedua-dua medan yang dirujuk dan medan kunci asing:
Keserasian Enjin:
Kedua-dua medan mesti berada dalam jadual dengan enjin yang sama, biasanya InnoDB.
Jenis dan Panjang Data:
Jenis data dan panjang medan mestilah sama. Sebagai contoh, jika medan yang dirujuk ialah VARCHAR(20), medan kunci asing juga hendaklah VARCHAR(20).
Pengumpulan:
Pengumpulan medan hendaklah sepadan serta, sebagai contoh, utf8.
Keunikan:
Medan yang dirujuk dalam jadual induk hendaklah unik atau diisytiharkan sebagai KUNCI UTAMA untuk memastikan setiap baris dalam jadual anak mempunyai rujukan yang sah.
NULL Kekangan:
Jika medan kunci asing membenarkan nilai NULL, medan yang dirujuk juga harus membenarkan nilai NULL.
Eksklusif Pelaksanaan:
Senario tertentu mungkin memerlukan pelaksanaan pernyataan penciptaan kunci asing secara eksklusif tanpa sebarang pertanyaan serentak lain. Ini boleh dicapai dengan memulakan transaksi, contohnya:
<code class="sql">BEGIN; CREATE TABLE course ( ... ); COMMIT;</code>
Langkah Tambahan:
Ingat, adalah penting untuk mengesahkan bahawa semua syarat ini dipenuhi untuk memastikan penciptaan kekangan kunci asing berjaya.
Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, setiap satu menekankan aspek artikel yang berbeza: Pendek dan Umum: * Mengapa Saya Tidak Boleh Menambah Kekangan Kunci Asing dalam MySQL? * Menyelesaikan masalah Kekangan Kunci Asing E. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!