Heim > Datenbank > MySQL-Tutorial > Wie erstelle ich Fremdschlüssel, die auf zusammengesetzte Primärschlüssel in MySQL verweisen?

Wie erstelle ich Fremdschlüssel, die auf zusammengesetzte Primärschlüssel in MySQL verweisen?

Barbara Streisand
Freigeben: 2024-12-18 09:28:11
Original
640 Leute haben es durchsucht

How to Create Foreign Keys Referencing Composite Primary Keys in MySQL?

Erstellen von Fremdschlüsseln, die auf zusammengesetzte Primärschlüssel in MySQL verweisen

MySQL ermöglicht die Erstellung von Fremdschlüsseln, die auf zusammengesetzte Primärschlüssel verweisen. Dies kann nützlich sein, wenn Sie eine Tabelle mit einem Primärschlüssel haben, der aus mehreren Spalten besteht, und eine Beziehung zwischen dieser und einer anderen Tabelle herstellen müssen.

So implementieren Sie:

Um einen Fremdschlüssel zu erstellen, der auf einen zusammengesetzten Primärschlüssel verweist, müssen Sie die Fremdschlüsselspalten definieren und die referenzierten Primärschlüsselspalten mithilfe der FOREIGN KEY-Einschränkung angeben. Hier ist ein Beispiel:

CREATE TABLE MyReferencingTable (
   [COLUMN DEFINITIONS]
   refcol1 INT NOT NULL,
   refcol2 INT NOT NULL,
   CONSTRAINT fk_mrt_ot FOREIGN KEY (refcol1, refcol2)
   REFERENCES OtherTable(col1, col2)
) ENGINE=InnoDB;
Nach dem Login kopieren

Wichtige Punkte:

  • MySQL erfordert die Indizierung von Fremdschlüsselspalten. Stellen Sie daher sicher, dass die referenzierenden Spalten über einen Index verfügen.
  • Die Verwendung der CONSTRAINT fk_nm-Syntax ermöglicht Ihnen die Benennung der Einschränkung, was es einfacher macht verwalten.
  • Durch die Verwendung der InnoDB-Speicher-Engine erzwingen Sie Fremdschlüsseleinschränkungen (MyISAM ignoriert sie).

Das obige ist der detaillierte Inhalt vonWie erstelle ich Fremdschlüssel, die auf zusammengesetzte Primärschlüssel in MySQL verweisen?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage