MySQL WHERE: bagaimana cara menulis "! =" Atau "tidak sama dengan"?

95

Saya perlu melakukan ini

DELETE FROM konta WHERE taken != ''

Tapi! = Tidak ada di mysql. Ada yang tahu bagaimana melakukan ini?

Posttwo
sumber

Jawaban:

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

Operator ! = Pasti ada! Ini adalah alias untuk <>operator standar .

Mungkin bidang Anda sebenarnya bukan string kosong, melainkan NULL?

Untuk membandingkan dengan NULLAnda dapat menggunakan IS NULLatau IS NOT NULLatau aman nol sama dengan operator<=> .

Mark Byers
sumber
Eh, saya bisa lihat kemana NULL
11

Anda mungkin menggunakan versi lama dari Mysql tapi pasti Anda bisa menggunakannya

 DELETE FROM konta WHERE taken <> ''

Tetapi ada banyak pilihan lain yang tersedia. Anda dapat mencoba yang berikut ini

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

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