Heim >Datenbank >MySQL-Tutorial >Können MySQL InnoDB-Fremdschlüssel mehrere Datenbanken umfassen?

Können MySQL InnoDB-Fremdschlüssel mehrere Datenbanken umfassen?

DDD
DDDOriginal
2024-11-21 01:16:14284Durchsuche

Can MySQL InnoDB Foreign Keys Span Multiple Databases?

MySQL InnoDB-Fremdschlüsselreferenzierung über Datenbanken hinweg

Im Bereich der Datenbankverwaltung ist InnoDB eine weit verbreitete Speicher-Engine für MySQL. Es bietet robuste Funktionen wie Fremdschlüssel zur Durchsetzung der referenziellen Integrität. Dies wirft die Frage auf: Können InnoDB-Fremdschlüssel mehrere Datenbanken umfassen?

Die Antwort ist ein klares Ja! MySQL ermöglicht Fremdschlüsselbeziehungen, um auf Tabellen zu verweisen, die sich in verschiedenen Datenbanken befinden. Diese Funktion erweitert den Umfang der Datenintegritätsbeschränkungen und ermöglicht es Ihnen, sinnvolle Beziehungen über logische Datenbankgrenzen hinweg herzustellen.

Um eine Fremdschlüsselbeziehung über Datenbanken hinweg einzurichten, verwenden Sie einfach die folgende Syntax:

ALTER TABLE table_name
ADD FOREIGN KEY (column_name)
REFERENCES otherdb.othertable(column_name);

Angenommen, wir haben eine Tabelle mit dem Namen „orders“ in der Datenbank „sales“ und eine Tabelle mit dem Namen „customers“ in der Datenbank „customer_info“. Um eine Fremdschlüsselbeziehung von „orders.customer_id“ zu „customers.id“ zu erstellen, führen Sie den folgenden Befehl aus:

ALTER TABLE orders
ADD FOREIGN KEY (customer_id)
REFERENCES customer_info.customers(id);

Diese Fremdschlüsseleinschränkung stellt sicher, dass jede Kunden-ID in der Auftragstabelle über einen entsprechenden Eintrag verfügt die Tabelle customer_info.customers. Diese datenbankübergreifende referenzielle Integrität trägt dazu bei, die Datenkonsistenz aufrechtzuerhalten und verwaiste Zeilen in beiden Datenbanken zu verhindern.

Das obige ist der detaillierte Inhalt vonKönnen MySQL InnoDB-Fremdschlüssel mehrere Datenbanken umfassen?. 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