Maison > Questions et réponses > le corps du texte
Ce tableau comporte une colonne de texte qui stocke les références à d'autres enregistrements au format CSV, par exemple :
+----+----------------+ | id | linked_folders | +----+----------------+ | 90 | NULL | | 91 | NULL | | 92 | 123,1,4,40 | | 93 | 123,1 | | 94 | NULL | | 95 | 235,8 | | 96 | 90 | | 97 | NULL | | 98 | NULL | | 99 | NULL | +----+----------------+ $id = 90; SELECT * FROM my_table WHERE id = $id OR $id is in linked_folders
La pseudo-requête ci-dessus doit renvoyer les lignes 90 et 96.
Je veux faire correspondre si une certaine valeur exacte que j'ai se trouve sur ce champ.
Je pense qu'utiliser LIKE pourrait ne pas fonctionner car je ne sais pas si la virgule avant ou après existe.
Ai-je des alternatives ?
P粉8850351142024-04-05 14:04:01
peut être réalisé en utilisant FIND_IN_SET
:
select * from my_table where id = 90 or FIND_IN_SET(90, linked_folders) > 0