Условието в WHERE
клаузата е:
NOT FIND_IN_SET(host, KnownHosts) AND NOT FIND_IN_SET(user, KnownUsers)
което е еквивалентно на:
NOT (FIND_IN_SET(host, KnownHosts) OR FIND_IN_SET(user, KnownUsers))
което означава, че искате да изключите редовете, за които:host
е включен в KnownHosts
или user
е включен в KnownUsers
.
Така че за вашите примерни данни, редът:
unknownuser | 192.168.1.5
няма да бъдат върнати, защото host = '192.168.1.5'
и е включени в KnownHosts
(='192.168.1.5'
).
Може би сменете логическия оператор на OR
, ако това е логиката, която искате да приложите:
NOT FIND_IN_SET(host, KnownHosts) OR NOT FIND_IN_SET(user, KnownUsers)