Heim >Datenbank >MySQL-Tutorial >MySQL-Fehler 1005: Kann ein Primärschlüssel ein Fremdschlüssel sein und wie behebe ich Probleme mit Fremdschlüsseleinschränkungen?
MySQL-Fremdschlüsselfehler 1005: Primärschlüssel als Fremdschlüssel
Nein, es ist nicht möglich, in MySQL einen Primärschlüssel als Fremdschlüssel zu definieren. Ein Primärschlüssel identifiziert Datensätze innerhalb einer Tabelle eindeutig, während ein Fremdschlüssel auf Datensätze in einer anderen Tabelle verweist. Die Kombination dieser beiden Rollen würde zu zirkulären Einschränkungen führen.
Der Fehler „Fehler 1005: Tabelle 'dbimmobili.condoni' konnte nicht erstellt werden (Fehlernr : 150)“ weist darauf hin, dass MySQL die Tabelle aufgrund eines Problems mit dem Fremdschlüssel nicht erstellen kann Einschränkungen.
Die Meldung „Fehler in der Fremdschlüsseleinschränkung der Tabelle dbimmobili/valutazionimercato“ deutet darauf hin, dass ein fehlender Index das Problem verursacht. MySQL erfordert, dass die referenzierte Tabelle über einen Index verfügt, der die im Fremdschlüssel angegebenen Spalten abdeckt.
Erstellen Sie einen Index für die referenzierte Tabelle (dbimmobili.Immobile) für die Spalten (ComuneImmobile, ViaImmobile , CivicoImmobile, InternoImmobile):
CREATE INDEX ix_ComuneViaCivicoInterno ON dbimmobili.Immobile (ComuneImmobile, ViaImmobile, CivicoImmobile, InternoImmobile);
Dieser Index stellt sicher, dass MySQL effizient Übereinstimmungen finden kann Datensätze in der dbimmobili.Immobile-Tabelle, wenn die dbimmobili.condoni-Tabelle auf sie verweist.
Das obige ist der detaillierte Inhalt vonMySQL-Fehler 1005: Kann ein Primärschlüssel ein Fremdschlüssel sein und wie behebe ich Probleme mit Fremdschlüsseleinschränkungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!