Maison > base de données > tutoriel mysql > Comment utiliser la clause « NOT IN » de MySQL avec une liste de valeurs ?

Comment utiliser la clause « NOT IN » de MySQL avec une liste de valeurs ?

DDD
Libérer: 2025-01-01 13:56:11
original
181 Les gens l'ont consulté

How to Use MySQL's

Syntaxe MySQL pour les listes de valeurs "NOT IN"

Question :

Comment définir une variable MySQL avec une liste de valeurs à utiliser dans une clause "NOT IN", excluant efficacement plusieurs valeurs d'un requête ?

Réponse :

Lors de la construction d'une clause "NOT IN" avec une liste de valeurs, il est essentiel d'éviter d'utiliser la liste entière comme une seule chaîne dans le clause. MySQL le compile sous forme de chaîne unifiée, tandis que la clause "NOT IN" nécessite des valeurs individuelles. Prenons l'exemple suivant :

WHERE id_campo NOT IN (@idcamposexcluidos)
Copier après la connexion

Ceci compile en :

WHERE id_campo NOT IN ('817,803,495')
Copier après la connexion

Cependant, la syntaxe correcte serait :

WHERE id_campo NOT IN ('817', '803', '495')
Copier après la connexion

Pour surmonter ce problème, il existe deux approches courantes :

  • SQL dynamique : Construisez la chaîne de requête avec le bon syntaxe, garantissant que les valeurs individuelles sont spécifiées dans la clause "NOT IN".
  • FIND_IN_SET : MySQL fournit la fonction FIND_IN_SET(), qui peut être utilisée comme suit :
WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0
Copier après la connexion

Il est important de noter que l'utilisation de la fonction FIND_IN_SET() peut avoir un impact sur les performances si des index sont utilisés sur le Colonne 'id_campo'.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal