MySQL Errno 150: Mendedahkan Percanggahan Kunci Asing
Dalam percubaan untuk mewujudkan hubungan antara jadual, anda mengalami ralat kunci asing yang sukar difahami dengan kod 150. Mari kita mendalami selok-belok skrip SQL anda untuk menentukan sumber ini isu.
Setelah diperiksa lebih dekat, ralat boleh dikaitkan dengan perbezaan asas dalam jenis data antara kunci asing dan lajur rujukannya. Dalam jadual "Bahagian", anda telah menentukan lajur "ID_Pengajar" sebagai "varchar(10)" manakala kunci utama jadual "Pengajar" yang dirujuk ialah "ID" dengan jenis data "varchar(10)." Walaupun panjangnya sepadan, jenis data adalah berbeza.
Percanggahan ini mewujudkan ketidakpadanan antara lajur yang sepatutnya dipautkan. MySQL memerlukan lajur kunci asing sepadan dengan jenis data lajur kunci utama yang dirujuk. Dalam kes ini, anda harus mengubah suai lajur "ID_Pengajar" dalam jadual "Bahagian" untuk memadankan jenis data lajur "ID" dalam jadual "Pengajar", iaitu "varchar(10)."
Setelah anda memastikan bahawa jenis lajur kunci asing sejajar dengan jenis lajur kunci utama yang dirujuk, MySQL seharusnya dapat mewujudkan hubungan kunci asing tanpa menghadapi ralat Errno 150.
Atas ialah kandungan terperinci Ralat MySQL 150: Mengapa kunci asing saya gagal walaupun dengan panjang lajur yang sepadan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!