Heim >Datenbank >MySQL-Tutorial >Wie verweise ich auf einen mehrspaltigen Primärschlüssel in MySQL?
Referenzieren eines mehrspaltigen Primärschlüssels in MySQL
Beim Herstellen von Beziehungen zwischen Tabellen kommt es häufig zu Szenarios, in denen ein Primärschlüssel mehrere enthält Spalten. In MySQL erfordert das Erstellen eines Fremdschlüssels für eine solche Tabelle einen maßgeschneiderten Ansatz.
Stellen Sie sich ein Szenario vor, in dem Sie eine Tabelle mit dem folgenden Primärschlüssel haben:
CREATE TABLE ProductAttributes ( product_id INT NOT NULL, attribute_id INT NOT NULL, PRIMARY KEY (product_id, attribute_id) );
Angenommen, Sie haben einen eine weitere Tabelle, die auf die ProductAttributes-Tabelle verweisen muss. Um einen Fremdschlüssel einzurichten, der die beiden Tabellen verknüpft, führen Sie die folgenden Schritte aus:
CREATE TABLE MyReferencingTable AS ( [COLUMN DEFINITIONS] refcol1 INT NOT NULL, rofcol2 INT NOT NULL, CONSTRAINT fk_mrt_ot FOREIGN KEY (refcol1, refcol2) REFERENCES ProductAttributes(product_id, attribute_id) ) ENGINE=InnoDB;
Durch Angabe der Spalten in der referenzierenden Tabelle und der entsprechenden Spalten in der Primärschlüsseltabelle erstellen Sie eine Fremdschlüsseleinschränkung. Diese Einschränkung stellt sicher, dass jede Zeile in der Referenzierungstabelle einen passenden Primärschlüssel in der Primärschlüsseltabelle hat.
Überlegungen:
Das obige ist der detaillierte Inhalt vonWie verweise ich auf einen mehrspaltigen Primärschlüssel in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!