Rumah > pangkalan data > tutorial mysql > MySQL Errno 150: Mengapa Saya Tidak Boleh Mencipta Kekangan Kunci Asing Saya?

MySQL Errno 150: Mengapa Saya Tidak Boleh Mencipta Kekangan Kunci Asing Saya?

Mary-Kate Olsen
Lepaskan: 2024-11-19 00:25:02
asal
673 orang telah melayarinya

MySQL Errno 150: Why Can't I Create My Foreign Key Constraint?

Menyelesaikan masalah MySQL Errno 150: Ralat Kunci Asing

Apabila mencipta kekangan kunci asing dalam MySQL, anda mungkin menghadapi "Errno 150" yang terkenal kesilapan. Artikel ini bertujuan untuk menentukan punca ralat ini dan menyediakan penyelesaian.

Mesej ralat biasanya menunjukkan "Tidak dapat membuat jadual" disebabkan rujukan tidak sah dalam pengisytiharan kunci asing. Ini boleh timbul apabila terdapat ketidakpadanan antara jenis data lajur yang dirujuk.

Dalam skrip yang diberikan, jadual Bahagian ditakrifkan dengan kunci asing yang merujuk kepada jadual Kursus dan Pengajar. Pemeriksaan yang teliti mendedahkan bahawa jenis data dalam lajur yang dirujuk sepadan: varchar(10) untuk Course_Code dalam kedua-dua jadual dan varchar(10) untuk ID dalam kedua-dua jadual.

Walau bagaimanapun, terdapat butiran penting yang boleh dibuat dengan mudah terlepas pandang: jenis data asas. Walaupun jenis data varchar mungkin kelihatan sama, ia membenarkan panjang aksara yang berbeza-beza. Ini bermakna lajur ID dalam jadual Pengajar mungkin menyimpan nilai yang mempunyai kiraan aksara yang berbeza daripada lajur Course_Code dalam jadual Kursus.

Untuk menyelesaikan ralat Errno 150, pastikan lajur yang dirujuk mempunyai sama. jenis data asas, termasuk panjang aksara dan sebarang atribut khas (mis., tidak ditandatangani atau zerofill). Dengan memastikan padanan jenis data yang tepat, anda boleh mewujudkan perhubungan kunci asing yang sah dan menyelesaikan ralat MySQL biasa ini.

Atas ialah kandungan terperinci MySQL Errno 150: Mengapa Saya Tidak Boleh Mencipta Kekangan Kunci Asing Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan