Rumah > pangkalan data > tutorial mysql > Mengapa saya mendapat MySQL Foreign Key Error 1005 apabila mencipta kunci asing merujuk kepada kunci utama?

Mengapa saya mendapat MySQL Foreign Key Error 1005 apabila mencipta kunci asing merujuk kepada kunci utama?

Barbara Streisand
Lepaskan: 2024-12-26 12:31:10
asal
205 orang telah melayarinya

Why am I getting MySQL Foreign Key Error 1005 when creating a foreign key referencing a primary key?

Ralat Kunci Asing MySQL 1005: Kunci Utama sebagai Kunci Asing

Mencipta kunci asing yang merujuk kepada kunci utama biasanya tidak disyorkan, kerana ia boleh membawa kepada isu prestasi dan masalah integriti data.

Kunci Utama sebagai Kunci Asing

Walaupun mungkin untuk mencipta kunci utama yang juga merupakan kunci asing, ia bukan amalan biasa. Dengan berbuat demikian, anda mengehadkan fleksibiliti jadual kunci asing, kerana ia tidak boleh dirujuk oleh jadual lain.

Ralat 1005

Ralat yang anda hadapi, "Ralat 1005: Tidak dapat mencipta jadual 'dbimmobili.condoni' (errno: 150)," menunjukkan bahawa MySQL tidak boleh mencipta kunci asing dengan betul.

Indeks Hilang

Seperti yang dinyatakan dalam mesej ralat, MySQL memerlukan indeks yang boleh digunakan pada kedua-dua jadual rujukan dan rujukan untuk kekangan kunci asing . Dalam kes anda, nampaknya anda belum mencipta indeks pada kunci utama jadual yang dirujuk.

Penyelesaian

Untuk menyelesaikan isu, pastikan jadual yang dirujuk, dbimmobili.Immobile, mempunyai indeks yang dibuat pada lajur kunci utama: ComuneImmobile, ViaImmobile, CivicoImmobile dan InternoImmobile. Sebaik sahaja anda telah mencipta indeks, anda sepatutnya dapat mengeksport perubahan dengan jayanya.

Atas ialah kandungan terperinci Mengapa saya mendapat MySQL Foreign Key Error 1005 apabila mencipta kunci asing merujuk kepada kunci utama?. 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