MySQL GDZIE: jak napisać „! =” Lub „nie równa się”?


95

Muszę to zrobić

DELETE FROM konta WHERE taken != ''

Ale! = Nie istnieje w mysql. Czy ktoś wie, jak to zrobić?

Odpowiedzi:



38

Operator ! = Z pewnością istnieje! Jest to alias dla <>operatora standardowego .

Być może twoje pola nie są w rzeczywistości pustymi ciągami, ale zamiast tego NULL?

Aby porównać z NULLyou, możesz użyć operatoraIS NULL lub IS NOT NULLlub null safe równa się<=> .


Ech, widzę, dokąd NULLzmierza (+1), ale wydaje się dziwne, że chcę usunąć nie puste lub NULL ..

11

Być może używasz starej wersji MySQL, ale na pewno możesz użyć

 DELETE FROM konta WHERE taken <> ''

Ale dostępnych jest wiele innych opcji. Możesz wypróbować następujące

DELETE * from konta WHERE strcmp(taken, '') <> 0;

DELETE * from konta where NOT (taken = '');
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.