公司表结构:
(`id`=`1`, `name`=`CompanyName`, `members`=`3,52,134,21`)
members
列中的数字是添加到该公司的用户标识。
当 id = 3 OR 52 OR 134 OR 21
的用户登录到上面的行时,应该使用 MySQL 查询返回。
这是否可以通过查询实现,还是我必须编辑我的表结构?
最佳答案
尝试:
SELECT * FROM tbl_name WHERE FIND_IN_SET('3',members);
注意:切勿以逗号分隔格式存储数据。如果还不晚,那就再做一张表,把结构归一化。通过对结构进行规范化,通过对列进行索引,可以轻松快速地进行搜索。
表名:company_users
pk_id member_id company_id(foriegn_key of company_table)
1 3 1
2 52 1
3 21 1
关于mysql - 如何在 MySQL 列数组中查找 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34353434/