Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

find_in_set và kết quả không mong đợi find_in_set

Điều kiện trong WHERE mệnh đề là:

NOT FIND_IN_SET(host, KnownHosts) AND NOT FIND_IN_SET(user, KnownUsers)

tương đương với:

NOT (FIND_IN_SET(host, KnownHosts) OR FIND_IN_SET(user, KnownUsers))

có nghĩa là bạn muốn loại trừ các hàng cho:
host được bao gồm trong KnownHosts hoặc user được bao gồm trong KnownUsers .

Vì vậy, đối với dữ liệu mẫu của bạn, hàng:

unknownuser | 192.168.1.5

sẽ không được trả lại vì host = '192.168.1.5' và nó được bao gồm trong KnownHosts (='192.168.1.5' ).

Có thể thay đổi toán tử logic thành OR , nếu đây là logic mà bạn muốn áp dụng:

NOT FIND_IN_SET(host, KnownHosts) OR NOT FIND_IN_SET(user, KnownUsers)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xác thực với tư cách là một người dùng cụ thể trong MySQL

  2. nhận chuỗi tiếng Hin-ddi không hợp lệ từ mysql bằng jsp

  3. Cần mảng mã hóa php pdo và chèn nhiều hàng trong mysql

  4. Làm cách nào để tìm các cột riêng biệt trong một truy vấn con lồng nhau trong SQL?

  5. MySQL:Cột không xác định trong 'danh sách trường'