Opprette en fremmednøkkel i MySQL er en del av referanseintegritet i databasen. En fremmednøkkel kobler til tabeller. En utenlandsk tasten brukes i forbindelse med en primærnøkkel, som er den viktigste posten for datasettet . For eksempel kan en primær nøkkel brukes på en kundes tabell. Kunden ID er en unik felt som tydelig identifiserer kunden. En fremmednøkkel er plassert på bestillinger bordet , kobler som kunden til hans ordre . Primary Key
Før du oppretter en fremmed nøkkel, en tabell som har en primærnøkkel felt må opprettes for referanseintegritet. I dette eksempel kan skape tabellen for kunder og ordre utføres ved hjelp av MySQL kommandolinje. 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 eksempelet en tabell opprettes ved hjelp av "Opprett bord " søkeord uttalelse. Hvis en primærnøkkel er ikke fastslått , kan programmereren la ut den primære nøkkelen uttalelse før han vet på hvilket felt for å plassere tasten. Men det er viktig for tabeller til å inneholde en primærnøkkel , fordi disse elementene øke ytelsen . I dette eksemplet er en primærnøkkel opprettet på " custid "-feltet . Den custid brukes til å utpreget identifisere kunden . I tillegg , når du tilordner en primærnøkkel i en tabell , må det være unikt .
Foreign Key
Nå som primærnøkkelen er opprettet, er en fremmednøkkel opprettet på ordrer tabellen . Igjen , hvis databasen utvikleren er usikker på utenlandske nøkkelen til å bruke ved å lage en tabell , kan det bli lagt til senere . Følgende kode oppretter en ordre bord med en fremmednøkkel som peker til kunder tabell:
CREATE TABLE ordre (ordre INT NOT NULL , kostnad INT , custid INT NOT NULL , PRIMARY KEY (ordre ) , INDEX ( custid ) , FOREIGN KEY ( custid ) REFERANSER kunde ( custid ) ) TYPE = Uskyldig ;
merke til at en primærnøkkel ble opprettet for denne tabellen også bruke OrderID , som også er en unik verdi . Uttalelsen som definerer den utenlandske nøkkelen er den siste i tabellen syntaks. Det definerer utenlandske nøkkelen og forteller databasen der dens primære nøkkelen ligger . I dette eksempelet custid feltet i tabellen Ordrer referanser custid i Kunder-tabellen .