Dies ist eine alte Version des Dokuments!


LU08d – Fremdschlüssel nachträglich hinzufügen (ALTER TABLE)

Falls Tabellen bereits ohne FK existieren, kannst du sie wie folgt erweitern:

-- Beispiel: director_id-FK nachrüsten
ALTER TABLE film
  ADD CONSTRAINT fk_film_director
  FOREIGN KEY (director_id)
  REFERENCES person(person_id)
  ON DELETE SET NULL
  ON UPDATE RESTRICT;
 
-- Beispiel: Verknüpfungen in film_cast nachrüsten
ALTER TABLE film_cast
  ADD CONSTRAINT fk_cast_film
  FOREIGN KEY (film_id)
  REFERENCES film(film_id)
  ON DELETE CASCADE
  ON UPDATE CASCADE,
  ADD CONSTRAINT fk_cast_person
  FOREIGN KEY (person_id)
  REFERENCES person(person_id)
  ON DELETE RESTRICT
  ON UPDATE RESTRICT;

Tipps:

  • Bestehende Daten müssen bereits konsistent sein, sonst schlägt `ALTER TABLE … ADD CONSTRAINT` fehl.
  • Namen automatisch vergebener Constraints findest du mit:
SHOW CREATE TABLE film\G
SHOW CREATE TABLE film_cast\G
  • modul/m290_guko/learningunits/lu08/theorie/d_fk-alter-table.1760165442.txt.gz
  • Zuletzt geändert: 2025/10/11 08:50
  • von gkoch