Ralat Kekangan Kunci Asing: Kod Ralat 1215
Apabila cuba menambah kekangan kunci asing pada jadual, kod ralat 1215, " Tidak boleh menambah kekangan kunci asing (kunci asing)", boleh berlaku. Ralat ini menunjukkan ketidakpadanan dalam jenis data antara lajur yang dirujuk dan lajur kunci asing.
Analisis Ralat:
Dalam contoh yang diberikan, ralat mungkin berpunca daripada berikutan kekangan kunci asing:
FOREIGN KEY (classLeader) REFERENCES student(studentID)
Di sini, lajur ClassLeader mempunyai jenis data VARCHAR(255), manakala lajur studentID dalam jadual pelajar yang dirujuk mempunyai jenis data INT. Jenis data lajur kunci yang dirujuk dan asing mesti sepadan.
Penyelesaian Alternatif:
Untuk menyelesaikan ralat ini, pastikan bahawa jenis data lajur kunci yang dirujuk dan asing perlawanan. Dalam kes ini, lajur ClassLeader boleh ditukar untuk mempunyai jenis data INT agar sepadan dengan lajur studentID.
Mengisi Jadual dengan Kekunci Asing:
Apabila mengisi jadual yang mempunyai kekangan kunci asing, tidak mungkin untuk memasukkan data secara langsung ke dalam medan kunci asing. Sebaliknya, data mesti dimasukkan terlebih dahulu ke dalam jadual yang dirujuk (cth., jadual pelajar). Medan kunci asing (mis., ID kelas) kemudiannya boleh diisi dengan nilai kunci utama yang sepadan daripada jadual yang dirujuk.
Kunci Asing sebagai Kunci:
Kunci asing ialah dianggap sebagai sejenis kunci, khususnya kunci logik. Ia bukan kunci utama atau kunci unik, tetapi ia memainkan peranan penting dalam memastikan integriti data dengan mengekalkan hubungan antara jadual. Kunci asing menguatkuasakan integriti rujukan, yang menghalang ketidakkonsistenan dalam data dengan memastikan bahawa rekod dalam jadual anak (cth., kelas) mempunyai rekod yang sepadan dalam jadual induk (cth., pelajar).
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Kekangan Utama Asing (Kod Ralat 1215)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!