我正在以逗号分隔的字符串格式存储个人档案好友ID。当运行查询时,它给出1条记录,而它应该返回2条记录。
MySQL查询
SELECT * FROM PROFILES WHERE profile_id IN(SELECT profile_friends FROM PROFILES WHERE profile_id = '1')
给出此结果(结果应为2条记录,而不是1条记录)
当我运行以下查询时,在profile_friends字段中给了我两个ID。
SELECT profile_friends FROM PROFILES WHERE profile_id = '1'
请使用以下查询
SELECT * FROM PROFILES WHERE FIND_IN_SET(profile_id,(SELECT profile_friends FROM PROFILES WHERE profile_id = '1'))
IN子句仅在您从整数字段中搜索值时使用
但是您的字段(profile_friends)是字符串,因此需要使用以下子句。
FIND_IN_SET
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句