MySQL WHERE语句:如何编写“!=”或“不等于”?

109

我需要这样做

DELETE FROM konta WHERE taken != ''

但是MySQL中不存在!=(不等于)运算符。有人知道如何解决吗?

3个回答

168
DELETE FROM konta WHERE taken <> '';

46
!= 操作符确实存在!它是标准 <> 操作符的别名。
也许您的字段实际上不是空字符串,而是 NULL
要与 NULL 进行比较,可以使用 IS NULLIS NOT NULL 或者 null 安全的等于操作符 <=>

嗯,我可以看出 NULL 去哪里了(+1),但想要删除 非空NULL 似乎有些奇怪。 - user166390

13

您可能正在使用旧版本的Mysql,但肯定可以使用。

 DELETE FROM konta WHERE taken <> ''

但是还有许多其他选项可供选择。你可以尝试以下选项

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接