Dokumentacja MySQL stwierdza:
MySQL działa zgodnie z założeniami i nie pozwala Ci strzelić sobie w stopę. Zasadniczo liczba wierszy, które zostałyby usunięte z widoku, nie odpowiada liczbie wierszy, które zostałyby usunięte z tabel bazowych. Ponadto, czy chcesz usunąć zdjęcie, wygląd, osobę lub fotografa? Czy wszystkie? A może tylko niektóre z nich? MySQL też nie wie tego na pewno, więc nie pozwala na operację.
Mając to na uwadze, uruchom to zapytanie:
SELECT IS_UPDATABLE
FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'v1';
Jeśli wynik jest inny niż „TAK”, możesz rozważyć przeprojektowanie widoku. Inną opcją byłoby usunięcie bezpośrednio z tabel bazowych.
Dobrym pomysłem jest również utworzenie aktualizowalnego widoku za pomocą klauzuli "With CHECK OPTION". Zapobiega to UPDATE lub INSERT do tabel bazowych, z wyjątkiem tych, które spełniają warunki zdefiniowane w klauzuli WHERE widoku. Lub, w twoim przypadku, nie pozwól Fredowi bawić się zdjęciami Boba.