Beim Versuch, bestimmte Werte in einer MySQL-Abfrage mithilfe einer „NOT IN“-Liste auszuschließen, wird eine zugewiesen Variable auf die ausgeschlossenen Werte kann eine praktische Lösung sein. Es ist jedoch wichtig, das richtige Variablenformat sicherzustellen.
Wie in Ihrer Abfrage beschrieben, haben Sie versucht, der Variablen „@idcamposexcluidos“ verschiedene Formate zuzuweisen:
Jedoch funktioniert keines dieser Formate wie erwartet. Der Grund dafür ist, dass die „IN“-Klausel separate Werte und keine einzelne Zeichenfolge erfordert. Daher wird die Abfrage:
WHERE id_campo not in (@idcamposexcluidos)
effektiv zu:
WHERE id_campo not in ('817,803,495')
was falsch ist. Die Werte sollten als separate Zeichenfolgenliterale bereitgestellt werden:
WHERE id_campo not in ('817','803','495')
Um dieses Problem zu beheben, gibt es zwei Optionen:
SET @idcamposexcluidos='817,803,495'; ... WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0
Beachten Sie, dass die Verwendung von FIND_IN_SET() Funktion kann die Indexnutzung beeinträchtigen.
Das obige ist der detaillierte Inhalt vonWie formatiere ich MySQL-Variablen für die Verwendung in einer „NOT IN'-Klausel richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!