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 ?
peut être réalisé en utilisant
FIND_IN_SET
:Démo ici