Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem ze strukturą tabelek
MitS
post
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 5
Dołączył: 8.02.2005
Skąd: Olsztyn / Zatorze

Ostrzeżenie: (0%)
-----


Witam serdecznie ...

przejdę od razu do rzeczy ...
mam sobie przykładowo taką strukturę:

  1. CREATE TABLE content(
  2. id INT(3) NOT NULL AUTO_INCREMENT,
  3. idContent INT(3) NOT NULL,
  4. dateContent VARCHAR(20) NOT NULL DEFAULT '0000-00-00 00:00:00',
  5. descriptionContent TEXT NOT NULL,
  6. PRIMARY KEY (id),
  7. UNIQUE INDEX (idContent),
  8. INDEX dateContent (dateContent)
  9. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  10.  
  11.  
  12. CREATE TABLE news(
  13. id INT(3) NOT NULL AUTO_INCREMENT,
  14. idNews INT(3) NOT NULL,
  15. nameNews VARCHAR(255) NOT NULL,
  16. demoNews TEXT NULL,
  17. contentNews TEXT NULL,
  18. dateNews VARCHAR(20) NOT NULL DEFAULT '0000-00-00 00:00:00',
  19. authorNews VARCHAR(255) NULL,
  20. isImage INT(1) NOT NULL DEFAULT '0',
  21. PRIMARY KEY(id),
  22. UNIQUE INDEX (idNews)
  23. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  24.  
  25.  
  26. CREATE TABLE management(
  27. id INT(3) NOT NULL AUTO_INCREMENT,
  28. idManagement INT(3) NOT NULL,
  29. modManagement VARCHAR(32) NOT NULL,
  30. sectionManagement VARCHAR(255) NOT NULL,
  31. PRIMARY KEY(id),
  32. UNIQUE INDEX (idManagement),
  33. INDEX (modManagement),
  34. INDEX (sectionManagement),
  35. CONSTRAINT identificate_news FOREIGN KEY(idManagement)
  36. REFERENCES news(idNews) ON DELETE NO ACTION ON UPDATE NO ACTION,
  37.  
  38. CONSTRAINT identificate_content FOREIGN KEY(idManagement)
  39. REFERENCES content(idContent) ON DELETE NO ACTION ON UPDATE NO ACTION
  40. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;


tabelki dodały się bez błędów, jednak podejrzewam, iż w ostatniej tabelce jest błąd gdzieś w tym miejscu:

Kod
                CONSTRAINT identificate_news FOREIGN KEY(idManagement)
        REFERENCES news(idNews)
        ON DELETE NO ACTION
                  ON UPDATE NO ACTION,

                CONSTRAINT identificate_content FOREIGN KEY(idManagement)
        REFERENCES content(idContent)
        ON DELETE NO ACTION
                  ON UPDATE NO ACTION


Mój zamiar jest taki, że osoba dodająca dane w panelu admina może sobie wybrać czy chce dodać zwykłego newsa czy innego ...
jeżeli wybierze newsa to dane zapisują sie do tabeli: management i news jeśli coś innego to dane są zapisywane do tabeli: management i content


i teraz moje pytanie brzmi ... jak poprawić tabelkę "management" tak by można było dodawać jakiekolwiek dane, bo na razie przy próbie dodania czegoś wywala mi:

Cytat
1216 - Cannot add or update a child row: a foreign key constraint fails
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 17:02