przejdę od razu do rzeczy ...
mam sobie przykładowo taką strukturę:
CREATE TABLE content( id INT(3) NOT NULL AUTO_INCREMENT, idContent INT(3) NOT NULL, dateContent VARCHAR(20) NOT NULL DEFAULT '0000-00-00 00:00:00', descriptionContent TEXT NOT NULL, PRIMARY KEY (id), UNIQUE INDEX (idContent), INDEX dateContent (dateContent) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE news( id INT(3) NOT NULL AUTO_INCREMENT, idNews INT(3) NOT NULL, nameNews VARCHAR(255) NOT NULL, demoNews TEXT NULL, contentNews TEXT NULL, dateNews VARCHAR(20) NOT NULL DEFAULT '0000-00-00 00:00:00', authorNews VARCHAR(255) NULL, isImage INT(1) NOT NULL DEFAULT '0', PRIMARY KEY(id), UNIQUE INDEX (idNews) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE management( id INT(3) NOT NULL AUTO_INCREMENT, idManagement INT(3) NOT NULL, modManagement VARCHAR(32) NOT NULL, sectionManagement VARCHAR(255) NOT NULL, PRIMARY KEY(id), UNIQUE INDEX (idManagement), INDEX (modManagement), INDEX (sectionManagement), 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 ) 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
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