Začněte nyníZačněte zdarma

Změna chování referenční integrity klíče

Zatím jsi implementoval/a tři omezení cizích klíčů:

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

Tyto cizí klíče mají aktuálně nastavené chování ON DELETE NO ACTION. Teď změníš toto chování pro sloupec odkazující na organizations v tabulce affiliations. Pokud je organizace smazána, měly by se smazat i všechny její záznamy v affiliations (od libovolného profesora).

Úprava omezení klíče pomocí ALTER COLUMN nefunguje. Místo toho je potřeba omezení nejprve DROPnout a pak ADDat nové s jiným chováním ON DELETE.

Pro smazání omezení ale musíš znát jeho název. Tato informace je uložena v information_schema.

Toto cvičení je součástí kurzu

Introduction to Relational Databases in SQL

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';
Upravit a spustit kód