Usuń wszystko oprócz

0

Czy da się usunąć wszystko z bazy poza wierszami z ustaloną wartością? Zamiast DELETE WHERE delete DELETE WHERE NOT?

2
DELETE FROM tabela WHERE NOT (warunek)
2

albo użyć operatora !=

0

Uważałbym na operatory = i !=, nawet jeśli cały warunek zostanie zanegowany za pomocą operatora NOT. Wartości NULL są wartościami nieokreślonymi (wartość nieznana lub brak wartości) i nie można powiedzieć, że coś nieokreślonego jest równe lub różne od jakiejś konkretnej lub nieokreślonej wartości, dlatego zamiana jednego z tych operatorów na drugi nie zawsze spowoduje zwrócenie tych wszystkich pozostałych danych, które nie zostały zwrócone z użyciem tego pierwszego operatora. W przypadku baz danych to jest oczywiste, ale początkujący mogą nie zdawać sobie z tego sprawy, a autor tematu raczej należy do takich osób, więc proponuję zastanowienie się nad koniecznością dodatkowego użycia operatorów IS NULL i IS NOT NULL.

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