Heim >Datenbank >MySQL-Tutorial >Wie verwende ich die „NOT IN'-Klausel von MySQL mit einer Werteliste?
Frage:
Wie definiert man eine MySQL-Variable mit eine Liste von Werten zur Verwendung in einer „NOT IN“-Klausel, wodurch mehrere Werte effektiv aus a ausgeschlossen werden Abfrage?
Antwort:
Beim Erstellen einer „NOT IN“-Klausel mit einer Liste von Werten ist es wichtig, die Verwendung der gesamten Liste als einzelne Zeichenfolge innerhalb der zu vermeiden Klausel. MySQL kompiliert ihn als einheitlichen String, während die „NOT IN“-Klausel individuelle Werte erfordert. Betrachten Sie das folgende Beispiel:
WHERE id_campo NOT IN (@idcamposexcluidos)
Dies lässt sich wie folgt kompilieren:
WHERE id_campo NOT IN ('817,803,495')
Die korrekte Syntax wäre jedoch:
WHERE id_campo NOT IN ('817', '803', '495')
Um dies zu umgehen, gibt es zwei gängige Ansätze:
WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0
Es ist wichtig zu beachten, dass sich die Verwendung der Funktion FIND_IN_SET() auf die Leistung auswirken kann, wenn Indizes für verwendet werden Spalte „id_campo“.
Das obige ist der detaillierte Inhalt vonWie verwende ich die „NOT IN'-Klausel von MySQL mit einer Werteliste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!