Menyelesaikan masalah Ralat MySQL 1215: Memahami Kekangan Utama Asing
Apabila cuba mencipta kekangan kunci asing dalam MySQL, anda mungkin menghadapi ralat " Ralat 1215: Tidak boleh menambah kekangan kunci asing." Isu ini timbul apabila perhubungan kunci asing tidak diwujudkan dengan betul antara jadual rujukan dan jadual induk.
Dalam senario yang diberikan, anda telah memastikan bahawa enjin InnoDB didayakan dan kunci utama ditakrifkan dengan betul. Walau bagaimanapun, mesej ralat menunjukkan bahawa mungkin terdapat percanggahan dalam jenis data lajur yang terlibat dalam hubungan kunci asing.
Semak dua kali bahawa jenis data lajur Clients_Case_Number dalam jadual Pelanggan, Staff_Emp_ID dalam jadual Kakitangan, Nombor_Kes_Klien dalam jadual_Klien_mempunyai_Kakitangan dan Staff_Emp_ID dalam Meja Clients_has_Staff adalah sama. Beri perhatian kepada tandatangan (cth., INT lwn. INT UNSIGNED). Jika jenis data ini tidak sepadan, MySQL tidak akan membenarkan kekangan kunci asing dibuat.
Pastikan kedua-dua jadual induk, Klien dan Kakitangan, mempunyai kunci utama yang ditentukan pada lajur kunci utama mereka (Case_Number dan Emp_ID, masing-masing ). Kekunci utama dalam jadual induk mesti sepadan dengan jenis data lajur kunci asing masing-masing dalam jadual rujukan (Clients_has_Staff).
Setelah anda mengesahkan bahawa jenis data dan kunci utama adalah konsisten, cuba buat kekangan kunci asing lagi. Jika ralat berterusan, semak semula nama lajur dan nama jadual untuk memastikan ia dieja dengan betul dan perhubungan ditakrifkan dengan tepat.
Atas ialah kandungan terperinci Ralat MySQL 1215: Mengapa Saya Tidak Boleh Menambah Kekangan Kunci Asing Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!