Tabela naprawy ma kolumny klient i czyNaprawione. Jak usunąć rekordy, w których czyNaprawione jest prawdą?
Źle. To usunie WSZYSTKIE rekordy (brak warunku).
Źle.
DELETE usuwa CAŁE wiersze, nie pojedyncze kolumny.Dobrze.
DELETE FROM ... WHERE usuwa wybrane wiersze.Źle. Brakuje słowa
FROM.Usuwanie wierszy spełniających warunek ma składnię
DELETE FROM <tabela> WHERE <warunek>. Zapis DELETE FROM naprawy WHERE czyNaprawione = TRUE; skasuje tylko rekordy z prawdziwą wartością pola. Dlatego poprawne jest DELETE FROM naprawy WHERE czyNaprawione = TRUE;.DELETE FROM naprawy; bez WHERE usunęłoby WSZYSTKIE wiersze. DELETE naprawy WHERE ... pomija słowo FROM. DELETE klient FROM ... błędnie wskazuje kolumnę (DELETE usuwa całe wiersze). Poprawne jest DELETE FROM naprawy WHERE czyNaprawione = TRUE;.