Rumah > pangkalan data > tutorial mysql > Mengapa Saya Tidak Boleh Menambah Kunci Asing pada Jadual 'Katalog' Saya Merujuk 'Sprache'?

Mengapa Saya Tidak Boleh Menambah Kunci Asing pada Jadual 'Katalog' Saya Merujuk 'Sprache'?

Mary-Kate Olsen
Lepaskan: 2024-11-29 17:19:09
asal
771 orang telah melayarinya

Why Can't I Add a Foreign Key to My

Menambah Kunci Asing pada Jadual Sedia Ada

Menambah kunci asing pada jadual sedia ada boleh menjadi tugas yang mudah, tetapi kadangkala ia boleh menghadapi ralat disebabkan oleh sintaks atau isu konfigurasi jadual yang tidak betul.

Dalam senario khusus ini, pengguna menghadapi ralat apabila cuba menambah kekangan kunci asing pada jadual "katalog", merujuk jadual "Sprache". Mesej ralat menunjukkan ketidakupayaan untuk menyelesaikan jadual "Sprache" dalam definisi kunci asing.

Untuk menyelesaikan isu ini, pastikan kedua-dua jadual "katalog" dan "Sprache" wujud dalam pangkalan data dan ditakrifkan dengan betul . Sahkan bahawa nama lajur yang dirujuk dalam kekangan kunci asing wujud dalam kedua-dua jadual, mempunyai jenis data yang sepadan dan bukan NULL. Selain itu, periksa enjin meja; agar kekangan kunci asing berfungsi dengan betul, kedua-dua jadual mesti menggunakan enjin storan InnoDB.

Jika konfigurasi jadual betul, isunya mungkin terletak pada sintaks pernyataan ALTER TABLE. Sintaks yang betul untuk menambah kunci asing dalam MySQL 5.1.61 ialah:

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

Pastikan bahawa nama lajur, nama jadual dan klausa tindakan semuanya dieja dengan betul. Selain itu, semak sama ada jadual yang anda rujuk dalam klausa FOREIGN KEY wujud dalam pangkalan data dan mempunyai kunci utama yang ditentukan.

Dengan mengesahkan konfigurasi jadual dan memastikan sintaks yang betul, anda sepatutnya berjaya menambah asing kekangan utama pada jadual "katalog".

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menambah Kunci Asing pada Jadual 'Katalog' Saya Merujuk 'Sprache'?. 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