Nie działa restric on update

0

Cześć Wszystkim,
Tworzę niewielką bazę w celach dydaktycznych w MySQL Workbench. Po wygenerowaniu bazy, zmieniłem silnik kilku tabel na InnoDB. W kilku powiązanych tabelach ustawiłem restrict podczas aktualizacji i kasowania rekordu. Baza podczas kasowania rekordu działa prawidłowo i pilnuje powiązań, natomiast podczas aktualizacji nic się nie dzieje. MySQL dopuszcza aktualizację powiązanych rekordów?!? Gdzie mogłem popełnić błąd ? Moja wersja bazy to 5.5.28. Dzięki wszystkim zainteresowanym.

0

ok, nie było pytania. Mój błąd. Myślałem, że baza nie dopuści do zmiany kolumny "nazwa" a logika jest taka, że tylko kolumna z PK nie może zostać zmieniona.

Jak najlepiej rozwiązać następujący problem:

Mam bazę w której są tabele faktura, pozycja faktury i asortyment. Jeżeli jakiś asortyment załóżmy, że "domestos" został dodany do pozycji faktury to nie chciałbym aby można było usunąć go w tabeli asortyment, ale również nie chciałbym aby można było edytować jego dane, np cenę, nazwę itp. Powinien tego pilnować jakiś trigger, funkcja, czy sprawdzać to w aplikacji ???

0

"domestos" został dodany do pozycji faktury to nie chciałbym aby można było usunąć go w tabeli asortyment

Zakładasz klucz obcy.

nie chciałbym aby można było edytować jego dane, np cenę, nazwę itp.

Po prostu w aplikacji nie dajesz możliwości edycji.

0

ok, dzięki za zainteresowanie. Z edycją sobie poradziłem - w aplikacji ukrywam towar i tworzę w jego miejsce kopię z nowym ID

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