Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat Ralat Kunci Asing MySQL 1215: \'Tidak boleh menambah kekangan kunci asing\'?
Menyelesaikan Masalah Ralat Kunci Asing MySQL: 1215
Apabila cuba menambah kekangan kunci asing dalam MySQL, anda mungkin menghadapi Kod Ralat: 1215 yang menunjukkan "Tidak boleh menambah kekangan kunci asing (kunci asing)." Ralat ini biasanya berlaku disebabkan oleh ketidakpadanan jenis data atau isu struktur.
Ketidakpadanan Jenis Data
Salah satu punca yang mungkin ialah ketidakpadanan dalam jenis data antara lajur yang merujuk kepada kunci asing dan lajur yang dirujuk. Sebagai contoh, jika lajur ClassLeader dalam jadual kelas mempunyai jenis data VARCHAR(255) manakala lajur ID pelajar yang dirujuk dalam jadual pelajar ialah INT, kekangan kunci asing akan gagal. Jenis data kedua-dua lajur mestilah sama.
Isu Struktur
Jika jenis data sepadan, isu itu mungkin terletak pada percanggahan struktur antara jadual. Terutama:
Contoh
-- Create student table CREATE TABLE student ( studentID int NOT NULL AUTO_INCREMENT, lastName varchar(255), firstName varchar(255), PRIMARY KEY (studentID) ); -- Create class table CREATE TABLE class ( classID int NOT NULL AUTO_INCREMENT, nameClass varchar(255), classLeader int, -- Change to INT to match studentID type FOREIGN KEY (classLeader) REFERENCES student(studentID), PRIMARY KEY (classID) );
Kunci Asing lwn. Kunci
Kunci asing tidak dipertimbangkan kunci tradisional (seperti kunci utama atau unik) yang mengenal pasti baris dalam jadual secara unik. Sebaliknya, tujuan utama mereka adalah untuk memastikan integriti rujukan dan mengekalkan hubungan antara jadual. Dengan menguatkuasakan kunci asing, anda boleh mengelakkan ketidakkonsistenan dan data yatim.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Kunci Asing MySQL 1215: \'Tidak boleh menambah kekangan kunci asing\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!