Heim >Datenbank >MySQL-Tutorial >Warum erkennt phpMyAdmin meinen Fremdschlüssel nicht?

Warum erkennt phpMyAdmin meinen Fremdschlüssel nicht?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-24 03:28:11568Durchsuche

Why Doesn't phpMyAdmin Recognize My Foreign Key?

Fremdschlüssel in phpMyAdmin einrichten: Indexanforderungen verstehen

Fremdschlüssel stellen Beziehungen zwischen Tabellen her und stellen so die Datenintegrität sicher. In phpMyAdmin erfordert das Einrichten von Fremdschlüsseln bestimmte Bedingungen, die bei vielen Benutzern für Verwirrung gesorgt haben.

Im gegebenen Szenario werden die Primärschlüssel der Tabellen „foo“ und „bar“ indiziert, es wird jedoch eine Fehlermeldung angezeigt dass „Kein Index definiert!“ für die Fremdschlüsselspalten in der Tabelle „foo_bar“. Um dieses Problem zu lösen, ist es wichtig, die Rolle von Indizes für Fremdschlüssel zu verstehen.

Indexanforderungen für Fremdschlüssel

Damit phpMyAdmin Fremdschlüsselbeziehungen erkennt, muss ein Der Index muss für die Fremdschlüsselspalte in der verweisenden Tabelle definiert werden. In diesem Fall muss ein Index für die Spalte „foo_id“ in der Tabelle „foo_bar“ erstellt werden.

Schritte zum Einrichten von Fremdschlüsseln in phpMyAdmin

  1. Erstellen Sie einen Index für die Fremdschlüsselspalte: Wählen Sie die Tabelle „foo_bar“ aus phpMyAdmin, gehen Sie zur Registerkarte „Struktur“ und klicken Sie auf die Schaltfläche „Index hinzufügen“. Erstellen Sie einen Index für die Spalte „foo_id“.
  2. Fremdschlüsselbeziehung festlegen: Kehren Sie zur Registerkarte „Struktur“ zurück, klicken Sie auf den Link „Beziehungsansicht“ und wählen Sie „database.foo“ aus " als genannte Tabelle. Wählen Sie für die Fremdschlüsselspalte „foo.id“ und geben Sie die entsprechenden Aktualisierungs- und Löschaktionen an.
  3. InnoDB-Engine verwenden: Stellen Sie sicher, dass sowohl „foo“ als auch „bar“ Tabellen verwenden die InnoDB-Speicher-Engine. MyISAM unterstützt keine Fremdschlüssel, daher ist ein Wechsel zu InnoDB erforderlich.

Indem Sie diese Schritte befolgen, können Sie erfolgreich Fremdschlüssel zwischen „foo“, „bar“ und „foo_bar“ einrichten. Tabellen in phpMyAdmin, um die Datenintegrität durch erzwungene Beziehungen sicherzustellen.

Das obige ist der detaillierte Inhalt vonWarum erkennt phpMyAdmin meinen Fremdschlüssel nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn