Heim > Datenbank > MySQL-Tutorial > Wie erstelle ich datenbankübergreifende Fremdschlüsselbeziehungen in MySQL InnoDB?

Wie erstelle ich datenbankübergreifende Fremdschlüsselbeziehungen in MySQL InnoDB?

DDD
Freigeben: 2024-11-14 16:37:02
Original
508 Leute haben es durchsucht

How do I create Inter-Database Foreign Key Relationships in MySQL InnoDB?

Fremdschlüsselbeziehungen zwischen Datenbanken in MySQL InnoDB

MySQL InnoDB bietet die Möglichkeit, Fremdschlüsseleinschränkungen über Tabellen hinweg festzulegen, die sich in verschiedenen Datenbanken befinden. Mit dieser Funktionalität können Sie die Datenintegrität aufrechterhalten, wenn Sie auf Daten von externen Datenbanken verweisen.

Datenbankübergreifende Fremdschlüssel erstellen

Um einen datenbankübergreifenden Fremdschlüssel zu erstellen, geben Sie ihn einfach an die Zieltabelle in der anderen Datenbank unter Verwendung ihres vollständig qualifizierten Namens, wie zum Beispiel:

ALTER TABLE my_table
ADD FOREIGN KEY (fk_column)
REFERENCES other.other_table(pk_column)
Nach dem Login kopieren

In diesem Beispiel ist other die Name der anderen Datenbank, other_table ist die Zieltabelle, pk_column ist der Primärschlüssel in der Zieltabelle und fk_column ist die Fremdschlüsselspalte in my_table.

Beispiel

Angenommen, Sie haben zwei Datenbanken, „Sales“ und „Customers“, und Sie möchten einen datenbankübergreifenden Fremdschlüssel von der Tabelle „Orders“ in der Datenbank „Sales“ zur Tabelle „Customers“ erstellen in der Kundendatenbank. Sie können dies mit der folgenden SQL-Anweisung tun:

ALTER TABLE sales.orders
ADD FOREIGN KEY (customer_id)
REFERENCES customers.customers(customer_id)
Nach dem Login kopieren

Jetzt wird jeder Datensatz in der Auftragstabelle, der auf einen nicht vorhandenen Kunden in der Kundentabelle verweist, als ungültig betrachtet und nicht in die Datenbank eingefügt .

Einschränkungen

Es ist wichtig zu beachten, dass es keine dokumentierten Einschränkungen für die Erstellung datenbankübergreifender Datenbanken gibt Fremdschlüssel in InnoDB. Es wird jedoch empfohlen, die Auswirkungen solcher Beziehungen auf die Leistung zu berücksichtigen, insbesondere wenn sich die Datenbanken auf verschiedenen Servern befinden.

Das obige ist der detaillierte Inhalt vonWie erstelle ich datenbankübergreifende Fremdschlüsselbeziehungen in MySQL InnoDB?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage