Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan Ralat Kekangan Kunci Asing MySQL Apabila Menambah Kunci Asing?

Bagaimana untuk Menyelesaikan Ralat Kekangan Kunci Asing MySQL Apabila Menambah Kunci Asing?

DDD
Lepaskan: 2024-11-30 15:58:14
asal
972 orang telah melayarinya

How to Resolve MySQL Foreign Key Constraint Errors When Adding a Foreign Key?

Membetulkan Ralat Penambahan Kunci Asing dalam Jadual MySQL

Isu:

Anda ingin menambah kunci asing pada yang sedia ada Jadual MySQL tetapi menemui perkara berikut ralat:

***Error Code: 1005. Can't create table 'mytable.#sql-7fb1_7d3a' (errno: 150)***
***Error in foreign key constraint of table mytable.#sql-7fb1_7d3a:***
FOREIGN KEY (`Sprache`) REFERENCES `Sprache` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL:
Salin selepas log masuk

Penyelesaian:

Untuk menyelesaikan ralat, pastikan jadual yang anda rujuk benar-benar wujud dan mempunyai nama lajur yang betul. Ralat menunjukkan bahawa jadual Sprache tidak wujud atau tidak mempunyai lajur bernama ID.

Pertanyaan Disemak:

ALTER TABLE katalog
ADD CONSTRAINT fk_katalog_sprache
FOREIGN KEY (`Sprache`)
REFERENCES Sprache(ID)
ON DELETE SET NULL
ON UPDATE SET NULL;
Salin selepas log masuk

Nota Tambahan:

  • Kedua-dua jadual (katalog dan Sprache) mestilah InnoDB dan mempunyai jenis data yang sepadan (INT(11) dan NOT NULL) untuk lajur yang dirujuk.
  • Lajur kunci asing (Sprache) dalam jadual katalog tidak boleh mengandungi sebarang nilai NULL sebelum menambah kekangan.
  • Lajur yang dirujuk lajur (ID dalam kes ini) dalam jadual Sprache hendaklah menjadi yang utama kunci.

Sintaks Penambahan Kunci Asing Am:

ALTER TABLE <table_name>
ADD FOREIGN KEY (<column_name>)
REFERENCES <foreign_table_name>(<foreign_column_name>);
Salin selepas log masuk

Dengan mengikuti arahan yang disemak ini, anda sepatutnya berjaya menambah kunci asing pada jadual katalog dalam MySQL.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Kekangan Kunci Asing MySQL Apabila Menambah Kunci Asing?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan