Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat Ralat MySQL 1215: Tidak Dapat Menambah Kekangan Utama Asing?

Mengapa Saya Mendapat Ralat MySQL 1215: Tidak Dapat Menambah Kekangan Utama Asing?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-28 04:37:10136semak imbas

Why Am I Getting MySQL Error 1215: Cannot Add Foreign Key Constraint?

Tidak Dapat Menambah Kunci Asing: MySQL Ralat 1215

Dalam percubaan untuk merekayasa skema pangkalan data baharu, pengguna menemui ralat MySQL "Ralat 1215: Tidak boleh menambah asing kekangan utama." Mereka telah menetapkan enjin pangkalan data kepada InnoDB dan mengesahkan bahawa kunci yang ditetapkan sebagai kunci asing ialah kunci utama dalam jadual masing-masing.

Isu ini mungkin berpunca daripada perbezaan jenis data antara lajur kunci asing dalam Clients_has_Staff dan lajur kunci utama yang sepadan dalam jadual induk (Pelanggan dan Kakitangan).

Mungkin Penyelesaian:

Pengguna harus menyemak sama ada lajur berikut mempunyai jenis data yang sama dalam ketiga-tiga jadual:

  • Pelanggan_mempunyai_Kakitangan.Nombor_Kes_Pelanggan
  • Pelanggan.Kes_ Bilangan
  • Pelanggan_mempunyai_Kakitangan.Staff_Emp_ID
  • Staff.Emp_ID

Untuk contoh, jika lajur jadual induk INT UNSIGNED, lajur kunci asing dalam Clients_has_Staff juga mesti INT UNSIGNED. Kegagalan untuk memadankan jenis data akan menghalang kekangan kunci asing daripada berjaya ditambahkan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat MySQL 1215: Tidak Dapat Menambah Kekangan Utama Asing?. 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