Het creëren van een vreemde sleutel in MySQL is een onderdeel van referentiële integriteit in de database . Een foreign key wordt aangesloten op tafels . Een foreign key wordt gebruikt in combinatie met een primaire sleutel , die de belangrijkste record voor de dataset . Zo kan een primaire sleutel gebruiken op tafel van een klant . De klant-id is een uniek gebied dat duidelijk identificeert de klant . Een foreign key wordt geplaatst op de tafel orders, die de klant verbindt met zijn bestelling . Primaire sleutel Voordat u een externe sleutel , een tabel die het bezit van een primaire sleutel veld moet worden gemaakt voor referentiële integriteit . In dit voorbeeld , kan het creëren van de tabel voor klanten en orders worden uitgevoerd met behulp van de MySQL command line . De syntax voor het maken van een tabel is hieronder: CREATE TABLE klant ( CustID INT NOT NULL , voornaam VARCHAR ( 30 ) , PRIMARY KEY ( CustID ) ) TYPE = InnoDB ; In dit voorbeeld , een tabel gemaakt met behulp van de "create table " keyword statement . Als een primaire sleutel is onbepaald , kan de programmeur laat de primaire sleutel statement totdat hij weet op welk veld om de sleutel te plaatsen. Echter , het is belangrijk voor de tafels om een primaire sleutel bevatten , omdat deze elementen versnellen prestaties . In dit voorbeeld wordt een primaire sleutel aangemaakt op het veld " CustID " . De CustID wordt gebruikt om de klant duidelijk te identificeren . Bovendien, bij het toewijzen van een primaire sleutel voor een tabel , het moet nu dat de primaire sleutel wordt gemaakt uniek zijn. Foreign Key , wordt een foreign key aangemaakt op de tabel orders. Ook indien de developer is onzeker de externe sleutel te gebruiken bij de van een tabel, kan later worden toegevoegd . De volgende code maakt een tabel orders met een foreign key die verwijst naar de tabel klanten : CREATE TABLE bestelling ( Order- INT NOT NULL , kosten INT , CustID INT NOT NULL , PRIMARY KEY ( OrderId ) , INDEX ( CustID ) , FOREIGN KEY ( CustID ) Referenties klant ( CustID ) ) TYPE = InnoDB ; Notice dat een primaire sleutel is gemaakt voor deze tafel ook met behulp van de OrderId , dat is ook een unieke waarde . De verklaring dat de externe sleutel definieert is de laatste in de syntaxis tafel. Het definieert de externe sleutel en vertelt de database waarin de primaire sleutel ligt . In dit voorbeeld is het CustID veld in de orders tabelverwijzingen de CustID in de tabel klanten .
|