Kom igångKom igång gratis

Ändra referensintegritetsbeteendet för en nyckel

Hittills har du implementerat tre främmande nyckel-begränsningar:

  1. professors.university_id till universities.id
  2. affiliations.organization_id till organizations.id
  3. affiliations.professor_id till professors.id

Dessa främmande nycklar har för närvarande beteendet ON DELETE NO ACTION. Nu ska du ändra det beteendet för kolumnen som refererar till organizations från affiliations. Om en organisation tas bort ska alla dess affilieringar (av vilken professor som helst) också tas bort.

Att ändra en nyckelbegränsning fungerar inte med ALTER COLUMN. Istället måste du DROPpa nyckelbegränsningen och sedan ADDa en ny med ett annat ON DELETE-beteende.

För att ta bort begränsningar behöver du dock känna till deras namn. Den informationen finns också lagrad i information_schema.

Den här övningen är en del av kursen

Introduktion till relationsdatabaser i SQL

Visa kurs

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';
Redigera och kör kod