Rumah >pangkalan data >tutorial mysql >Mengapa phpMyAdmin Tidak Mengecam Kunci Asing Saya?

Mengapa phpMyAdmin Tidak Mengecam Kunci Asing Saya?

Patricia Arquette
Patricia Arquetteasal
2024-11-24 03:28:11514semak imbas

Why Doesn't phpMyAdmin Recognize My Foreign Key?

Menyediakan Kunci Asing dalam phpMyAdmin: Memahami Keperluan Indeks

Kunci asing mewujudkan hubungan antara jadual, memastikan integriti data. Dalam phpMyAdmin, menyediakan kunci asing memerlukan syarat khusus yang telah menyebabkan kekeliruan kepada ramai pengguna.

Dalam senario yang diberikan, kunci utama jadual "foo" dan "bar" diindeks, tetapi mesej ralat menunjukkan bahawa "Tiada indeks ditentukan!" untuk lajur kunci asing dalam jadual "foo_bar". Untuk menyelesaikan isu ini, adalah penting untuk memahami peranan indeks untuk kunci asing.

Keperluan Indeks untuk Kunci Asing

Untuk phpMyAdmin mengenali perhubungan utama asing, satu indeks mesti ditakrifkan pada lajur kunci asing dalam jadual rujukan. Dalam kes ini, indeks perlu dibuat pada lajur "foo_id" dalam jadual "foo_bar".

Langkah-Langkah untuk Menyediakan Kunci Asing dalam phpMyAdmin

  1. Buat Indeks pada Lajur Kunci Asing: Pilih jadual "foo_bar" dalam phpMyAdmin, pergi ke tab "Struktur", dan klik pada butang "Tambah indeks". Cipta indeks untuk lajur "foo_id".
  2. Tetapkan Perhubungan Kunci Asing: Kembali ke tab "Struktur", klik pada pautan "Paparan hubungan" dan pilih "database.foo " seperti jadual yang dirujuk. Untuk lajur kunci asing, pilih "foo.id" dan nyatakan yang sesuai pada tindakan kemas kini dan pada tindakan pemadaman.
  3. Gunakan Enjin InnoDB: Pastikan kedua-dua "foo" dan "bar" jadual menggunakan enjin storan InnoDB. MyISAM tidak menyokong kunci asing, oleh itu keperluan untuk beralih kepada InnoDB.

Dengan mengikuti langkah ini, anda boleh berjaya menyediakan kunci asing antara "foo," "bar" dan "foo_bar" jadual dalam phpMyAdmin, memastikan integriti data melalui perhubungan yang dikuatkuasakan.

Atas ialah kandungan terperinci Mengapa phpMyAdmin Tidak Mengecam Kunci Asing Saya?. 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