sql >> Database >  >> RDS >> Mysql

find_in_set en find_in_set onverwacht resultaat

De voorwaarde in de WHERE clausule is:

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

wat gelijk is aan:

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

wat betekent dat je wilt uitsluiten de rijen waarvoor:
host is opgenomen in KnownHosts of user is opgenomen in KnownUsers .

Dus voor uw voorbeeldgegevens, de rij:

unknownuser | 192.168.1.5

wordt niet geretourneerd, omdat host = '192.168.1.5' en het is inbegrepen in KnownHosts (='192.168.1.5' ).

Misschien de logische operator wijzigen in OR , als dit de logica is die u wilt toepassen:

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



  1. Hoe de fout 'fe_sendauth:geen wachtwoord opgegeven' in Rails op te lossen met PostgreSQL?

  2. Auditgeschiedenis van meerdere tabellen in de database

  3. Oracle SQL Developer - Fout:FROM trefwoord niet gevonden waar verwacht

  4. Oracle sql merge om in te voegen en te verwijderen maar niet bij te werken