Recherche dans une liste délimitée par des virgules dans MySQL
Votre table MySQL contient un champ avec une liste d'identifiants séparés par des virgules. Vous souhaitez effectuer une recherche dans ce champ à l'aide d'une requête telle que SELECT ... WHERE field LIKE '%1%'. Cependant, cette requête correspond à de nombreuses entrées en raison des ID qui se chevauchent.
Pour résoudre ce problème, considérez la fonction FIND_IN_SET :
SELECT ... WHERE FIND_IN_SET('1', field)
La fonction FIND_IN_SET prend deux arguments : la chaîne que vous êtes recherche et la liste séparée par des virgules. Il renvoie la position de la chaîne dans la liste, ou 0 si elle n'est pas trouvée.
Grâce à cette fonction, votre requête peut localiser précisément les identifiants dans la liste séparés par des virgules, quelle que soit leur position. Cela vous fournira des résultats de recherche plus précis et évitera le problème des entrées correspondantes en raison du chevauchement des identifiants.
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!