MySQL WHERE: làm thế nào để viết “! =” Hoặc “không bằng”?


95

Tôi cần phải làm điều này

DELETE FROM konta WHERE taken != ''

Nhưng! = Không tồn tại trong mysql. Bất cứ ai biết làm thế nào để làm điều này?

Câu trả lời:



38

Các toán tử! = Chắc chắn nhất không tồn tại! Nó là một bí danh cho <>nhà điều hành tiêu chuẩn .

Có lẽ các trường của bạn không thực sự là các chuỗi trống, mà thay vào đó NULL?

Để so sánh với NULLbạn có thể sử dụng IS NULLhoặc IS NOT NULLhoặc toán tử null safe bằng<=> .


Eh, tôi có thể nhìn thấy nơi NULLđang xảy ra (1), nhưng nó có vẻ kỳ lạ để muốn xóa không có sản phẩm nào hoặc NULL ..

11

Bạn có thể đang sử dụng phiên bản cũ của Mysql nhưng chắc chắn bạn có thể sử dụng

 DELETE FROM konta WHERE taken <> ''

Nhưng có nhiều tùy chọn khác có sẵn. Bạn có thể thử những cái sau

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

DELETE * from konta where NOT (taken = '');
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.