Notatka Podstawowy

10. Dodaj dane i poznaj ograniczenia

Wykonać INSERT i odczytać błąd naruszenia klucza.

15 września 2026 ok. 2 min czytania

Po tej lekcji potrafisz

Wykonać INSERT i odczytać błąd naruszenia klucza.

INSERT dopisuje wiersze. Wskazuj kolumny jawnie, aby nie uzależniać polecenia od ich fizycznej kolejności. Typy i ograniczenia pilnują modelu: NOT NULL wymaga wartości, PRIMARY KEY uniemożliwia powtórzenie id, a FOREIGN KEY wymaga istniejącej kategorii. To zabezpieczenia spójności, a nie niedogodności do wyłączenia.

Od tej lekcji używamy transakcji na tabelach InnoDB. START TRANSACTION rozpoczyna zestaw zmian, ROLLBACK go cofa. Dzięki temu ćwiczenie nie zmienia danych dla kolejnych lekcji. Uruchom cały poniższy blok jako jeden zestaw w zakładce SQL.

START TRANSACTION;
INSERT INTO ksiazki (id, tytul, kategoria_id, cena, rok, opis)
VALUES (7, 'Pierwszy robot', 4, 45.00, 2026, NULL);
SELECT id, tytul FROM ksiazki WHERE id = 7;
ROLLBACK;

Teraz Twoja kolej

Uruchom blok. Następnie osobnym SELECT sprawdź, czy książka 7 pozostała w tabeli. Wyjaśnij, dlaczego id kategorii 99 nie nadaje się do tego INSERT.

Sprawdź rozwiązanie i oczekiwany efekt
SELECT id, tytul FROM ksiazki WHERE id = 7;

Wewnątrz transakcji widać nową książkę. Po ROLLBACK wynik jest pusty. Kategoria 99 nie istnieje, więc klucz obcy odrzuciłby taki wpis.

Na co uważać

Nie wklejaj tylko INSERT, pomijając ramę transakcji, jeśli chcesz zachować pierwotny zestaw. ROLLBACK nie cofnie wcześniej zatwierdzonych zmian.

Zanim przejdziesz dalej: wykonaj ćwiczenie samodzielnie i dopiero wtedy oznacz lekcję jako ukończoną. Oznaczenie zapisuje Twój postęp, nie jest oceną nauczyciela.

Potwierdź operację