problem z zapytaniem

0

Witam. Piszę program w javie, gdy wysyłam zapytanie to wyskakuje mi błąd którego nie rozumiem :/

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`dziennik_ocen_studentow`.`oceny`, CONSTRAINT `FK_OCENY` FOREIGN KEY (`Id_projekt`) REFERENCES `projekty` (`Id_projekt`))

Czasami podobny błąd mi wyskakuje gdy np. chcę usunąć 1 rekord z jakiejś tabeli :/, a jak próbuje usnąć np. ostatni to wszystko ok.

0

Komunikat mówi o FOREIGN KEY. Pracując z bazą danych warto wiedzieć co nieco na jej temat...

Foreign key (klucz obcy) to mówiąc najprościej jak się da informacja, że dany rekord jest powiązany z rekordem w innej tabeli. Nie możesz usunąć, zmienić rekordu jeżeli tego samego nie zrobisz w tabeli powiązanej.

Z powyższego komunikatu wynika, że nie możesz usunąć/zmienić rekordy z tabeli "oceny" ponieważ jest powiązany z rekordem z tabeli "projekty" po polu "Id_projekt".

0

Ale jak to jest że mogę usunąć np 20 rekord a 2 nie moge ?

0

Mogłeś usunąć te 20 rekordów bo nie były powiązane z rekordami w innej tabeli za pomocą kluczy. Zamiast pytać na forum poczytaj co to jest baza danych, klucze obce, na czym polega spójność bazy danych itd. Musisz pojąć te elementarne pojęcia bo inaczej będziesz miał ciągle podobne problemy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1