Rumah >pangkalan data >tutorial mysql >Mengapa MySQL Throw Ralat 150: Jenis Rujukan Kunci Asing Tidak Padan?

Mengapa MySQL Throw Ralat 150: Jenis Rujukan Kunci Asing Tidak Padan?

DDD
DDDasal
2024-11-19 18:06:03462semak imbas

Why Does MySQL Throw Error 150: Foreign Key Reference Type Mismatch?

MySQL Ralat 150: Jenis Rujukan Kunci Asing Tidak Padan

Semasa cuba mencipta pangkalan data dengan beberapa jadual, pengguna mengalami ralat: " Kod Ralat: 1005. Tidak boleh membuat jadual '336_project.sections' (errno: 150)." Ralat ini berkaitan dengan penggunaan kunci asing.

Setelah pemeriksaan lebih dekat, didapati bahawa jenis data lajur yang berkaitan tidak sepadan. Dalam kes ini, lajur "Kod_Kursus" dalam jadual "Bahagian" ditakrifkan sebagai VARCHAR, manakala lajur yang sepadan dalam jadual "Kursus" ditakrifkan sebagai INT.

MySQL memerlukan kunci asing dan utama kunci dalam jadual berkaitan mempunyai jenis data yang sepadan. Ralat ini berlaku apabila jenis data tidak sepadan, walaupun nama dan sintaks kekangan kunci asing kelihatan betul.

Penyelesaian:

Untuk menyelesaikan ralat ini, pastikan jenis data lajur yang berkaitan dalam jadual induk dan anak adalah sama. Dalam contoh ini, jenis data lajur "Kod_Kursus" dalam kedua-dua jadual "Bahagian" dan "Kursus" hendaklah ditukar kepada VARCHAR.

Setelah jenis data dipadankan dengan betul, kekangan kunci asing akan menjadi dikuatkuasakan, dan penciptaan jadual akan berjaya tanpa kesilapan.

Atas ialah kandungan terperinci Mengapa MySQL Throw Ralat 150: Jenis Rujukan Kunci Asing Tidak Padan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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