Skapa ett främmande nyckel i MySQL är en del av referentiell integritet i databasen . En främmande nyckel ansluter till bord . En främmande nyckel används tillsammans med en primärnyckel , vilket är den viktigaste posten för datamängden . Till exempel skulle en primärnyckel användas på en kundens bord . Den kund-ID är ett unikt område som tydligt identifierar kunden . En främmande nyckel placeras på tabellen Order , ansluter som kunden sin beställning . Primary Key
Innan du skapar en främmande nyckel , ett bord som rymmer en primärnyckelfält måste skapas för referensintegritet . I detta exempel , kan skapa tabellen för kunder och beställningar utföras med hjälp av MySQL kommandorad . Syntaxen för att skapa en tabell nedan är :
CREATE TABLE kund ( Kund-id INT NOT NULL , förnamn VARCHAR ( 30 ) , primärnyckel ( Kund-id ) ) TYP = InnoDB ;
I detta exempel en tabell skapas med hjälp av " skapa bord " nyckelordet uttalande . Om en primärnyckel är obestämt , kan programmeraren utelämna primärnyckeln uttalande tills han vet på vilket område att placera nyckeln . Men det är viktigt för tabeller för att innehålla en primärnyckel , eftersom dessa element påskynda prestanda . I detta exempel är en primärnyckel skapas på " Kund-id "-fältet . Den Kund-id används för att tydligt identifiera kunden . Dessutom , när du tilldelar en primärnyckel i en tabell , måste det vara unikt .
Foreign Key
nu att primärnyckeln skapas , är en främmande nyckel som skapats på tabellen Order . Återigen , om databasen utvecklare är osäker på främmande nyckel som ska användas vid bordet skapande , kan den läggas till senare . I följande kod skapas en order bord med en främmande nyckel som pekar på tabellen Kunder :
CREATE TABLE beställning ( Ordernr INT NOT NULL , kostnad INT , Kund-id INT NOT NULL , PRIMARY KEY ( Ordernr ) , INDEX ( Kund-id ) , främmande nyckel ( kund-id ) kundreferenser ( kund-id ) ) TYPE = InnoDB ,
Observera att en primärnyckel skapades för detta bord samt använder Ordernr , vilket också är ett unikt värde . Uttalandet som definierar den främmande nyckeln är den sista i tabellen syntax . Den definierar den främmande nyckeln och berättar databas där dess primärnyckel ligger . I detta exempel Kund-id fältet i tabellen Order refererar till Kund-id i tabellen Kunder .