CodeBlanks Logo Icon CodeBlanks

Constraint yönetimi

Constraint eklemeyi ve kaldırmayı öğrenirsin.

ON DELETE ve ON UPDATE

ON DELETE ve ON UPDATE ile FOREIGN KEY davranışını belirlersin. CASCADE, SET NULL, RESTRICT seçenekleri var.

FOREIGN KEY (customer_id) REFERENCES customers(id)
  ON DELETE CASCADE

Bu sorgu müşteri silinince siparişleri de silinir.

ON DELETE ve ON UPDATE — ayrıntı

CASCADE bağlı satırları da siler/günceller. SET NULL bağlı sütunu boş yapar. RESTRICT silmeyi engeller. Varsayılan RESTRICT'tir.

Uygulama ON DELETE ve ON UPDATE

orders tablosuna customer_id FOREIGN KEY REFERENCES customers(id) ON DELETE CASCADE ekle.

Başlangıç kodu

query.sql
-- ilişki ekle
CREATE TABLE orders (
  id INT PRIMARY KEY,
  customer_id INT,

Örnek çözüm

query.sql
CREATE TABLE orders (
  id INT PRIMARY KEY,
  customer_id INT,
  FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE
)

Beklenen çıktı

Tablo oluşturuldu

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Yayılım

Soru
FOREIGN KEY (cid) REFERENCES c(id) ON DELETE ____;
Cevap
FOREIGN KEY (cid) REFERENCES c(id) ON DELETE CASCADE;

Açıklama: CASCADE doğru cevap.

2 Constraint yönetimi: kavramları eşleştir

Kavram Anlamı
CASCADE yay
SET NULL boş
RESTRICT engelle
FOREIGN KEY ilişki

3 ON DELETE CASCADE ne yapar?

  • Bağlı satırları boşaltır
  • Bağlı satırları da siler Doğru cevap
  • Bağlı satırları korur
  • Hiçbir şey

Açıklama: CASCADE bağlı satırları da siler.

Başlangıç bölümündeki tüm dersler