Oprettelse af en fremmed nøgle i MySQL er en del af referentiel integritet i databasen. En fremmed nøgle forbinder til tabeller. En fremmed nøgle bruges sammen med en primær nøgle, som er den vigtigste rekord for datasættet. For eksempel kan en primær nøgle anvendes på kundens bord . Den kunde-id er et unikt område, der tydeligt identificerer kunden. En fremmed nøgle er placeret på tabellen Ordrer , der forbinder kunden til sin ordre . Primær nøgle
Før du opretter en fremmed nøgle , et bord , der holder et primært nøglefelt skal skabes for referentiel integritet . I dette eksempel kan skabe tabellen for kunder og ordrer skal udføres ved hjælp af MySQL kommandolinjen. Syntaksen for at oprette en tabel er under : Hej
CREATE TABLE kunden ( Kunde-id INT NOT NULL, first_name VARCHAR (30) , PRIMARY KEY ( Kunde-id ) ) TYPE = InnoDB ;
I dette eksempel et bord er skabt ved hjælp af " oprette tabellen " søgeord erklæring. Hvis en primær nøgle er uafklaret , kan programmøren udelade den primære nøgle erklæring , før han ved , hvor banen for at placere nøglen. Men det er vigtigt for tabeller til at indeholde en primær nøgle , fordi disse elementer fremskynde ydeevne. I dette eksempel er en primær nøgle oprettet på " Kunde-id " feltet. Den Kunde-id bruges til tydeligt identificere kunden . Derudover, når tildele en primær nøgle til en tabel , skal det være unikt.
Foreign Key
at den primære nøgle er oprettet, en fremmed nøgle oprettet på tabellen Ordrer. Igen, hvis databasen udvikler er usikker på den fremmede nøgle til brug på tidspunktet for oprettelse af en tabel , kan det blive tilføjet senere . Følgende kode opretter en ordre tabel med en fremmed nøgle , der peger på tabellen Kunder : Hej
CREATE TABLE rækkefølge ( OrdreID INT NOT NULL, cost INT , Kunde-id INT NOT NULL, PRIMARY KEY ( OrderID ) , INDEX ( Kunde-id ) , FOREIGN KEY ( kunde-id ) REFERENCER kunde ( kunde-id ) ) TYPE = InnoDB ;
Bemærk at en primær nøgle blev skabt til denne tabel samt bruge OrderID , som også er en unik værdi . Den opgørelse, som fastlægger den fremmede nøgle er den sidste i tabellen syntaks. Det definerer den fremmede nøgle og fortæller databasen , hvor dens primære nøgle er placeret. I dette eksempel Kunde-id felt i tabellen Ordrer refererer til Kunde-id i tabellen Kunder .