Po tej lekcji potrafisz
Użyć UPDATE i DELETE z precyzyjnym WHERE oraz sprawdzić zakres zmiany.
UPDATE zmienia wartości istniejących wierszy, DELETE je usuwa. Bez WHERE polecenie dotyczy wszystkich wierszy. Najpierw uruchom SELECT z tym samym warunkiem, aby zobaczyć zakres. Następnie przeprowadź próbę w transakcji, obejrzyj rezultat i wycofaj ćwiczenie.
START TRANSACTION;
SELECT id, tytul, cena FROM ksiazki WHERE id = 2;
UPDATE ksiazki SET cena = 62.00 WHERE id = 2;
SELECT id, tytul, cena FROM ksiazki WHERE id = 2;
ROLLBACK;Usunięcie książki, do której istnieją wypożyczenia, zostanie zablokowane przez klucz obcy w naszym modelu. Nie usuwaj ograniczenia, aby obejść problem. Zastanów się, czy właściwą operacją jest archiwizacja albo oznaczenie niedostępności.
Teraz Twoja kolej
W osobnej transakcji usuń wypożyczenie o id 4, potwierdź brak tego wiersza, a następnie wycofaj zmianę.
Sprawdź rozwiązanie i oczekiwany efekt
START TRANSACTION;
DELETE FROM wypozyczenia WHERE id = 4;
SELECT * FROM wypozyczenia WHERE id = 4;
ROLLBACK;SELECT wewnątrz transakcji zwraca pusty wynik. Po jej wycofaniu wypożyczenie znowu istnieje.
Na co uważać
Nie uruchamiaj ćwiczeń w bazie serwisu. Transakcja jest mechanizmem bazy, nie zamiennikiem kopii zapasowej.
Zanim przejdziesz dalej: wykonaj ćwiczenie samodzielnie i dopiero wtedy oznacz lekcję jako ukończoną. Oznaczenie zapisuje Twój postęp, nie jest oceną nauczyciela.