jesteś w Encyklopedii SQL >> FOREIGN KEY
FOREIGN KEY
FOREIGN KEY znany jako klucz obcy to pewnego rodzaju odnośnik łączący tabelę w którym
występuje klucz obcy z inną tabelą. Klucz obcy zapobiega wszelkim operacjom, które
mogłyby zerwać taką więź międzu tabelami. Również klucz obcy nie może być wartością
dowolną. Musi wskazyswać na konkretny wiersz w drugiej tabeli.
Klucz obcy można ustalić w trakcie tworzenia nowej tabeli lub dla już istniejącej tabeli.
Składnia na utworzenie tabeli z kluczem obcym FOREIGN KEY
MySQL:
CREATE TABLE `nazwa_tabeli1`
{
`nazwa_kolumny1` typ_danych,
`nazwa_kolumny2` typ_danych,
PRIMARY KEY (`nazwa_kolumny1`),
FOREIGN KEY (`nazwa_kolumny2`)
REFERENCES `nazwa_tabeli2`(`nazwa_kolumny3`)
SQL Server / Oracle / MS Access:
CREATE TABLE `nazwa_tabeli`
{
`nazwa_kolumny1` typ_danych PRIMARY KEY,
`nazwa_kolumny2` typ_danych FOREIGN KEY
REFERENCES `nazwa_tabeli2`(`nazwa_kolumny3`)
}
Składnia na utworzenie tabeli z nazwanym kluczem obcym
CREATE TABLE `nazwa_tabeli`
{
`nazwa_kolumny1` typ_danych ,
`nazwa_kolumny2` typ_danych,
CONSTRAINT nazwa_klucza_obcego
FOREIGN KEY `nazwa_kolumny2`
REFERENCES `nazwa_tabeli`(`nazwa_kolumny3`)
}
Składnia na ustalenie klucza obcego dla istniejącej już tabeli
ALTER TABLE `nazwa_tabeli`
ADD FOREIGN KEY (`nazwa_kolumny`)
REFERENCES `nazwa_tabeli2`(`nazwa_kolumny3`)
Składnia na ustalenie nazwanego klucza obcego dla istniejącej już tabeli
ALTER TABLE `nazwa_tabeli`
ADD CONSTRAINT nazwa_klucza_obcego
FOREIGN KEY `nazwa_tabeli2`(`nazwa_kolumny3`)
Składnia na usunięcie klucza obcego z istniejącej już tabeli
MySQL:
ALTER TABLE `nazwa_tabeli`
DROP FOREIGN KEY nazwa_klucza_obcego
SQL Server / Oracle / MS Access:
ALTER TABLE `nazwa_tabeli`
DROP CONSTRAINT nazwa_klucza_obcego
[ wróć na górę strony ]