Foreign Key MySQL Tutorial

Opprette en fremmednøkkel i MySQL er en del av referanseintegritet i databasen. En fremmednøkkel kobles til bord. En fremmed nøkkel blir brukt i forbindelse med en primærnøkkel, som er den viktigste posten for datasettet. For eksempel kan en primærnøkkel brukes på en kundes tabell. Kunden ID er en unik felt som tydelig identifiserer kunden. En fremmednøkkel er plassert på ordre bord, som kobler kunden til hans ordre.

Primærnøkkel

Før du oppretter en fremmednøkkel, en tabell som har en primærnøkkel felt må lages for referanseintegritet. I dette eksemplet oppretter tabellen for kunder og bestillinger kan gjøres ved hjelp av MySQL kommandolinjen. Syntaksen for å lage en tabell er under:

CREATE TABLE kunde
(

CustId INT NOT NULL,
first_name VARCHAR(30),
PRIMARY KEY (CustId)

) TYPE = Uskyldig;

I dette eksemplet er en tabell som er opprettet ved hjelp av "opprette tabellen" søkeord uttalelse. Hvis en primærnøkkel er ikke bestemt, kan programmereren la ut primærnøkkelen uttalelse før han vet om hvilket felt for å plassere nøkkelen. Men det er viktig for tabeller for å inneholde en primærnøkkel, fordi disse elementene øke ytelsen. I dette eksempel er en primærnøkkel som er opprettet på "Kunde-ID" feltet. Den Kunde-ID blir brukt til å utpreget identifisere kunden. I tillegg, når tildele en primærnøkkel til et bord, må det være unikt.

Foreign Key

Nå som primærnøkkelen er opprettet, er en fremmednøkkel opprettet på ordre bordet. Igjen, hvis databasen utvikleren er usikker på fremmednøkkel til bruk på tidspunktet for å lage en tabell, det kan bli lagt til senere. Følgende kode oppretter en ordre bord med en fremmednøkkel som peker til kundene tabellen:

CREATE TABLE for
(

Orderid INT NOT NULL,
cost INT,
CustId INT NOT NULL,
PRIMARY KEY(OrderId),
INDEX (CustId),
FOREIGN KEY (CustId) REFERENCES customer (CustId)

) TYPE = Uskyldig;

Legg merke til at en primærnøkkel ble opprettet for denne tabellen også bruke OrderID, som også er en unik verdi. Uttalelsen som definerer fremmednøkkelen er den siste i tabellen syntaks. Det definerer fremmednøkkel og forteller database hvor sin primærnøkkel er plassert. I dette eksempelet Kunde-ID-feltet i ordrene tabellen refererer til Kunde-ID i kundens tabellen.