MySQL- tutoriaal

MySQL TUIS MySQL-inleiding MySQL RDBMS

MySQL SQL

MySQL SQL MySQL KIES MySQL WAAR MySQL EN, OF, NIE MySQL BESTEL DEUR MySQL VOEG IN MySQL NULL-waardes MySQL-OPDATERING MySQL SKEE MySQL-LIMIET MySQL MIN en MAX MySQL COUNT, AVG, SUM MySQL LIKE MySQL Wildcards MySQL IN MySQL TUSSEN MySQL aliasse MySQL sluit aan MySQL BINNE SLUIT AAN MySQL LOS LINKS AAN MySQL REGS SLUIT AAN MySQL KRUIS SLUIT AAN MySQL Self Sluit aan MySQL UNIE MySQL GROEP DEUR MySQL HET MySQL BESTAAN MySQL ENIGE, ALMAL MySQL INSERT SELECT MySQL-GEVAL MySQL nul-funksies MySQL-kommentaar MySQL-operateurs

MySQL- databasis

MySQL Skep DB MySQL Drop DB MySQL Skep tabel MySQL Drop Table MySQL Verander Tabel MySQL-beperkings MySQL nie nul nie MySQL Uniek MySQL-primêre sleutel MySQL buitelandse sleutel MySQL-tjek MySQL verstek MySQL Skep indeks MySQL Outo-verhoging MySQL-datums MySQL-aansigte

MySQL- verwysings

MySQL-datatipes MySQL-funksies

MySQL voorbeelde

MySQL voorbeelde MySQL Vasvra MySQL-oefeninge

MySQL BUITELANDSE SLEUTEL beperking


MySQL BUITELANDSE SLEUTEL beperking

Die FOREIGN KEYbeperking word gebruik om aksies te voorkom wat skakels tussen tabelle sal vernietig.

A FOREIGN KEYis 'n veld (of versameling velde) in een tabel, wat verwys na die PRIMARY KEYin 'n ander tabel.

Die tabel met die vreemde sleutel word die kindtabel genoem, en die tabel met die primêre sleutel word die verwysde of ouertabel genoem.

Kyk na die volgende twee tabelle:

Persone Tabel

PersonID LastName FirstName Age
1 Hansen Ola 30
2 Svendson Tove 23
3 Pettersen Kari 20

Bestellingstabel

OrderID OrderNumber PersonID
1 77895 3
2 44678 3
3 22456 2
4 24562 1

Let daarop dat die "PersonID"-kolom in die "Bestellings"-tabel na die "PersonID"-kolom in die "Persone"-tabel wys.

Die "PersonID"-kolom in die "Persone"-tabel is die PRIMARY KEYin die "Persone"-tabel.

Die "PersonID"-kolom in die "Bestellings"-tabel is 'n FOREIGN KEYin die "Bestellings"-tabel.

Die FOREIGN KEYbeperking verhoed dat ongeldige data in die vreemde sleutelkolom ingevoeg word, want dit moet een van die waardes wees wat in die ouertabel vervat is.



BUITELANDSE SLEUTEL op CREATE TABLE

Die volgende SQL skep 'n FOREIGN KEYop die "PersonID" kolom wanneer die "Bestellings" tabel geskep word:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);

Om die naam van 'n beperking toe te laat, en om 'n beperking op veelvuldige kolomme FOREIGN KEYte definieer , gebruik die volgende SQL-sintaksis: FOREIGN KEY

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
    REFERENCES Persons(PersonID)
);

BUITELANDSE SLEUTEL op ALTER TABEL

Om 'n FOREIGN KEYbeperking op die "PersonID"-kolom te skep wanneer die "Bestellings"-tabel reeds geskep is, gebruik die volgende SQL:

ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

Om die naam van 'n beperking toe te laat, en om 'n beperking op veelvuldige kolomme FOREIGN KEYte definieer , gebruik die volgende SQL-sintaksis: FOREIGN KEY

ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

LAAT 'n BUITELANDSE SLEUTEL-beperking

Om 'n FOREIGN KEYbeperking te laat vaar, gebruik die volgende SQL:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;