我有疑问。如果我有用户表,列名称为freinds
。
我希望在具有此值的列朋友中使用一些用户ID:1 | 2 | 45 | 18。
这意味着例如用户id = 5有4个这些id为1 | 2 | 45 | 18的freinds。
我不想在这种情况下使用两张桌子。
如果用户ID为5的朋友,如何选择每个用户数据? 在PHP中,我们为每个分隔符切片功能。 我可以为此目标设置分隔符,或者我应该在MySQL中使用两个表用户和朋友吗?
答案 0 :(得分:1)
这是一个非常糟糕的情况,特别是如果你继承了一个有这样一个计划的数据库,但找到你可以使用的朋友:
SELECT friend.*
FROM user u
left join user friend on concat('|', o.friends, '|') like concat('%|', friend.id, '|%')
where u.id = 5;