sql >> Database teknologi >  >> RDS >> Mysql

MySQL variabelt format for en NOT IN-liste med værdier

Du kan ikke bruge IN sådan klausul. Den kompilerer til en enkelt streng i din IN klausul. Men en IN klausul skal adskilles værdier.

WHERE id_campo not in (@idcamposexcluidos)

kompilerer til

WHERE id_campo not in ('817,803,495')

men det burde være

WHERE id_campo not in ('817','803','495')

For at overvinde dette, brug enten dynamisk SQL eller i MySQL kan du bruge FIND_IN_SET :

SET @idcamposexcluidos='817,803,495';
...
WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0

men ved at bruge en funktion som FIND_IN_SET() kan ikke gøre brug af indekser.



  1. Hvordan får man rækkeantal i sqlite ved hjælp af Android?

  2. Dumper CLOB-felter i filer?

  3. Installer PL/Java 1.5.2 i PostgreSQL 11

  4. Tjek, om der allerede findes en brugerdefineret type i PostgreSQL