Rumah >pangkalan data >tutorial mysql >Bolehkah Kunci Asing Merujuk Lajur Bukan Kunci Utama?

Bolehkah Kunci Asing Merujuk Lajur Bukan Kunci Utama?

DDD
DDDasal
2025-01-15 10:41:48631semak imbas

Can a Foreign Key Reference a Non-Primary Key Column?

Rujukan kunci asing bukan lajur kunci utama

Menghubungkan kunci asing dengan lajur bukan kunci utama boleh menimbulkan cabaran. Dalam contoh ini, jadual yang dirujuk oleh kunci asing mengandungi lajur bernama "AnotherID" yang tidak ditetapkan sebagai kunci utama.

Satu penyelesaian yang mungkin adalah memastikan bahawa lajur "AnotherID" mempunyai kekangan yang unik. Books Online menyokong perkara ini, dengan menyatakan bahawa kekangan kunci asing boleh dikaitkan dengan kekangan unik, bukan hanya kunci utama. Mengubah suai jadual untuk memasukkan kekangan unik pada "AnotherID" akan membolehkan kunci asing dibuat.

Walau bagaimanapun, adalah penting untuk mempertimbangkan potensi kesan daripada perubahan tersebut. Menggunakan kekangan unik mungkin memperkenalkan kerumitan atau pengehadan tambahan, dan biasanya disyorkan untuk menggunakan kunci utama sebagai sasaran kunci asing apabila boleh. Dalam situasi di mana struktur data tidak boleh diubah, melaksanakan kekangan unik pada lajur bukan kunci utama mungkin merupakan pilihan yang berdaya maju untuk mengekalkan integriti rujukan.

Atas ialah kandungan terperinci Bolehkah Kunci Asing Merujuk Lajur Bukan Kunci Utama?. 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