Comme d'autres l'ont mentionné, en essayant de rechercher des données dénormalisées « 1,2,3,4,44,5,55 » dans une base de données relationnelle n'est pas une bonne approche. Les bases de données relationnelles sont construites pour gérer les données normalisées.
Vous pourriez .. noter, pourrait diviser la chaîne en un sous-ensemble (Split function in MySQL), puis faire une opération IN-search, mais ce n'est pas une approche recommandée.
La meilleure façon de résoudre le problème est d'en haut. Depuis essayer de construire autour de lui, au lieu de réellement le réparer, n'est jamais une bonne voie à suivre.
La solution; Normaliser les données.
Message
- [PK] Id
- Body...
Reciever
- [PK] Id
- Name...
MessageReceiver
- [FK] MessageId
- [FK] ReceiverId
Avoir cette structure de table, vous pouvez facilement requête:
SELECT M.* FROM MessageReceiver MR
INNER JOIN Message M ON M.Id=MR.MessageId
WHERE MR.ReceiverId=3
Résolution de cette façon vous permettra d'économiser beaucoup de maux de tête à l'avenir.
Veuillez nous donner plus d'informations sur les champs de la table des messages. Le plus évidemment, nous devons connaître le type de données de 'récepteur'. Est-ce une chaîne (essayez la réponse de @Sarfaz) ou est-ce numérique (essayez ma (@lexu) réponse)? – lexu