MySQL Eğitimi

MySQL ANA SAYFA MySQL Girişi MySQL RDBMS'si

MySQL SQL'i

MySQL SQL'i MySQL SEÇ MySQL NEREDE MySQL VE, VEYA, DEĞİL MySQL SİPARİŞ TARAFINDAN MySQL İNDİR MySQL BOŞ Değerler MySQL GÜNCELLEME MySQL SİL MySQL SINIR MySQL MIN ve MAX MySQL SAYISI, AVG, TOPLA MySQL GİBİ MySQL Joker Karakterleri MySQL İÇİ ARASINDA MySQL MySQL Takma Adları MySQL Katılımları MySQL İÇ BİRLEŞTİRME MySQL SOL BİRLEŞTİR MySQL DOĞRU BİRLEŞTİRME MySQL ÇAPRAZ BİRLEŞTİRME MySQL Kendi Kendine Katılma MySQL BİRLİĞİ MySQL GRUBU TARAFINDAN MySQL SAHİBİ MySQL MEVCUTTUR MySQL HERHANGİ BİR, TÜMÜ MySQL EKLE SEÇİMİ MySQL VAKA MySQL Boş İşlevler MySQL Yorumları MySQL Operatörleri

MySQL Veritabanı

MySQL Veritabanı Oluştur MySQL Bırakma Veritabanı MySQL Tablo Oluştur MySQL Bırakma Tablosu MySQL Değiştirme Tablosu MySQL Kısıtlamaları MySQL Boş Değil MySQL Benzersiz MySQL Birincil Anahtarı MySQL Yabancı Anahtarı MySQL Kontrolü MySQL Varsayılanı MySQL İndeks Oluştur MySQL Otomatik Artış MySQL Tarihleri MySQL Görünümleri

MySQL Referansları

MySQL Veri Türleri MySQL İşlevleri

MySQL Örnekleri

MySQL Örnekleri MySQL Testi MySQL Alıştırmaları

MySQL YABANCI ANAHTAR Kısıtlaması


MySQL YABANCI ANAHTAR Kısıtlaması

FOREIGN KEYKısıtlama, tablolar arasındaki bağlantıları yok edecek eylemleri önlemek için kullanılır .

A FOREIGN KEY, bir tablodaki, başka bir tablodakine atıfta bulunan bir alandır (veya alanlar topluluğudur) PRIMARY KEY.

Yabancı anahtara sahip tabloya alt tablo, birincil anahtara sahip tabloya başvurulan veya ana tablo denir.

Aşağıdaki iki tabloya bakın:

Kişiler Tablosu

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

Sipariş Tablosu

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

"Siparişler" tablosundaki "PersonID" sütununun "Persons" tablosundaki "PersonID" sütununu gösterdiğine dikkat edin.

"Kişiler" tablosundaki "PersonID" sütunu, "Kişiler" tablosundaki sütundur PRIMARY KEY.

"Siparişler" tablosundaki "PersonID" sütunu, "Siparişler" tablosundaki bir sütundur FOREIGN KEY.

Kısıtlama, üst tabloda bulunan FOREIGN KEYdeğerlerden biri olması gerektiğinden, yabancı anahtar sütununa geçersiz verilerin eklenmesini engeller.



CREATE TABLOSUNDA YABANCI ANAHTAR

Aşağıdaki SQL FOREIGN KEY, "Siparişler" tablosu oluşturulduğunda "PersonID" sütununda bir a oluşturur:

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

Bir FOREIGN KEYkısıtlamanın adlandırılmasına izin vermek ve birden çok sütunda bir kısıtlama tanımlamak FOREIGN KEYiçin aşağıdaki SQL sözdizimini kullanın:

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)
);

ALTER TABLOSUNDA YABANCI ANAHTAR

FOREIGN KEY"Siparişler" tablosu zaten oluşturulduğunda "PersonID" sütununda bir kısıtlama oluşturmak için aşağıdaki SQL'i kullanın:

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

Bir FOREIGN KEYkısıtlamanın adlandırılmasına izin vermek ve birden çok sütunda bir kısıtlama tanımlamak FOREIGN KEYiçin aşağıdaki SQL sözdizimini kullanın:

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

BİR YABANCI ANAHTAR Kısıtlaması DÜŞÜN

Bir FOREIGN KEYkısıtlamayı kaldırmak için aşağıdaki SQL'i kullanın:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;