【发布时间】:2012-07-10 20:51:55
【问题描述】:
我需要这样做
DELETE FROM konta WHERE taken != ''
但是 != 在 mysql 中不存在。 有人知道怎么做吗?
【问题讨论】:
标签: mysql sql-delete
我需要这样做
DELETE FROM konta WHERE taken != ''
但是 != 在 mysql 中不存在。 有人知道怎么做吗?
【问题讨论】:
标签: mysql sql-delete
DELETE FROM konta WHERE taken <> '';
【讨论】:
!= operator 肯定存在!它是标准<> 运算符的别名。
也许您的字段实际上不是空字符串,而是NULL?
要与NULL 进行比较,您可以使用IS NULL 或IS NOT NULL 或null safe equals operator <=>。
【讨论】:
NULL 的去向(+1),但是想要删除 not empty 或 NULL .. 似乎很奇怪
您可能使用的是旧版本的 Mysql,但您肯定可以使用
DELETE FROM konta WHERE taken <> ''
但还有许多其他选项可用。您可以尝试以下几种
DELETE * from konta WHERE strcmp(taken, '') <> 0;
DELETE * from konta where NOT (taken = '');
【讨论】: