MySQL DONDE: ¿cómo escribir "! =" O "no es igual"?

95

Necesito hacer esto

DELETE FROM konta WHERE taken != ''

Pero! = No existe en mysql. Alguien sabe cómo hacer esto?

Posttwo
fuente

Respuestas:

150
DELETE FROM konta WHERE taken <> '';
RolandoMySQLDBA
fuente
38

¡ El operador! = Ciertamente existe! Es un alias del <>operador estándar .

¿Quizás sus campos no son en realidad cadenas vacías, sino NULL?

Para comparar NULL, puede utilizar IS NULLo IS NOT NULLo el operador nulo seguro igual<=> .

Mark Byers
fuente
Eh, puedo ver a dónde NULLva (+1), pero parece extraño querer eliminar no vacío o NULL ..
11

Es posible que esté usando una versión anterior de Mysql, pero seguramente puede usar

 DELETE FROM konta WHERE taken <> ''

Pero hay muchas otras opciones disponibles. Puedes probar los siguientes

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

DELETE * from konta where NOT (taken = '');
minhas23
fuente