Opérateur MySQL IN ()
Lors de l'interrogation d'une base de données MySQL, l'opérateur WHERE IN () est souvent utilisé pour récupérer des lignes en fonction de paramètres spécifiques. valeurs dans une colonne. Par exemple, la requête suivante récupère toutes les lignes de la table "table" où la colonne "id" correspond à l'une des valeurs (1, 2, 3, 4) :
SELECT * FROM table WHERE id IN (1,2,3,4);
Cependant, un problème survient lorsqu'un enregistrement a plusieurs valeurs « id », telles que 1 et 3. Dans de tels cas, la requête peut ne pas renvoyer cette valeur. row.
Solution
La requête se traduit par les conditions OR suivantes :
SELECT * FROM table WHERE id='1' or id='2' or id='3' or id='4';
Par conséquent, il ne renverra que les lignes qui correspondent à l'un de ces éléments. conditions.
Pour résoudre ce problème, une option consiste à utiliser le type de données SET pour la colonne "id". Cela vous permet de stocker plusieurs valeurs à l'aide de chaînes séparées par des virgules. Vous pouvez ensuite utiliser la fonction FIND_IN_SET() pour rechercher des valeurs spécifiques :
SELECT * FROM table WHERE FIND_IN_SET('1', id);
Cette requête renverra toutes les lignes qui ont « 1 » comme l'une des valeurs dans la colonne « id », quelles que soient les autres valeurs pouvant être présentes.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3