web-dev-qa-db-ja.com

MySQL WHERE:「!=」または「等しくない」の書き方

これをする必要があります

DELETE FROM konta WHERE taken != ''

しかし、!=はmysqlには存在しません。誰もこれを行う方法を知っていますか?

70
Posttwo
DELETE FROM konta WHERE taken <> '';
112
RolandoMySQLDBA

!= operator は確かに存在します!これは、標準の<>演算子のエイリアスです。

フィールドは実際には空の文字列ではなく、代わりにNULLですか?

NULLと比較するには、IS NULLまたはIS NOT NULLまたは null safe equals演算子<=> を使用できます。

29
Mark Byers

古いバージョンのMysqlを使用している可能性がありますが、必ず使用できます

 DELETE FROM konta WHERE taken <> ''

しかし、利用可能な他の多くのオプションがあります。次のものを試すことができます

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

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