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ć?

Posttwo
źródło

Odpowiedzi:

150
DELETE FROM konta WHERE taken <> '';
RolandoMySQLDBA
źródło
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ę<=> .

Mark Byers
źródło
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 = '');
minhas23
źródło