MySQL WHERE: comment écrire "! =" Ou "not equals"?


93

Je dois le faire

DELETE FROM konta WHERE taken != ''

Mais! = N'existe pas dans mysql. Quelqu'un sait-il comment faire ça?


1
@DanielKamilKozar Je ne savais pas que je devais profiler l'individu avant de répondre aux questions.
Kermit du

Réponses:



36

L' opérateur! = Existe certainement! C'est un alias pour l' <>opérateur standard .

Peut-être que vos champs ne sont pas réellement des chaînes vides, mais plutôt NULL?

Pour comparer à, NULLvous pouvez utiliser IS NULLou IS NOT NULLou l' opérateur null safe equals<=> .


Eh, je peux voir où NULLva (+1), mais il semble étrange de vouloir supprimer pas vide ou NULL ..

11

Vous utilisez peut-être une ancienne version de Mysql mais vous pouvez sûrement utiliser

 DELETE FROM konta WHERE taken <> ''

Mais il existe de nombreuses autres options disponibles. Vous pouvez essayer les suivants

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

DELETE * from konta where NOT (taken = '');
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.