Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Relacja 1:n w obrębie jednej tabeli
Forum PHP.pl > Forum > Bazy danych
Adi32
Witajcie. Mam tabelę pl_brand która ma między innymi kolumny ('pl_brand_id', 'parent_id').
Zrobiłem relację

  1. ALTER TABLE `pl_brand`
  2. ADD CONSTRAINT `FK_pl_brand_pl_brand` FOREIGN KEY (`parent_id`) REFERENCES `pl_brand` (`pl_brand_id`) ON UPDATE RESTRICT ON DELETE CASCADE;


Kiedy usuwam jaki¶ rekord, razem z nim usuwaj± się wszystkie jego dzieci - chyba że ma jaki¶ wnuków lub potomków dalszego stopnia, w tedy dostaje od MySQL komunikat:

  1. DELETE FROM pl_brand WHERE pl_brand_id = 920


  1. ---------------------------
  2. Error
  3. ---------------------------
  4. SQL Error (1451): Cannot DELETE OR UPDATE a parent row: a FOREIGN KEY constraint fails (`srv_platform`.`pl_module_brand`, CONSTRAINT `FK_pl_module_brand_pl_brand` FOREIGN KEY (`brand_id`) REFERENCES `pl_brand` (`pl_brand_id`))
  5. ---------------------------
  6. OK
  7. ---------------------------


O co może chodzić?
Damonsson
Na pl_module_brand.brand_id masz założony klucz obcy z restrict do pl_brand.pl_brand_id
Adi32
Dzieki Damonsson. Zdaje sie ze nie przeczytalem dobrze komunikatu ehh
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.