[英]Using mysql in array operator on a json encoded array?
我使用IN数组运算符为约会网站创建了搜索查询。
e.g SELECT * from 'users' where 'job' IN("1", "2", "3");
直到我有一个专栏,用户可以选择多个选项之前,这一直很好。
e.g jobs ["1", "2"] is stored in the database.
因此可以在json数组上的数组中使用。
是否有解决方案,例如以不同方式将多个选项存储在数据库中?
用于帮助http://tinypic.com/view.php?pic=287eqt3&s=8#.U01mma1dWrA的图片
您应该避免将序列化的数据存储在数据库中。
您的用户应具有唯一的ID。 创建另一个表“职业”,并将每个职业插入其中,然后将每一行分配给一个用户。
occupations
----------------------
name user_id
______________________
Film 1
Singer 1
Copywriter 2
然后,您可以搜索电影等关键字。
SELECT * FROM `occupations` WHERE name LIKE "%Film%"
这样,所有用户都被分配了职业“电影”。
多:
SELECT * FROM `occupations` WHERE name LIKE "%Film%" OR name LIKE "%Singer%"
所有拥有电影和歌手的用户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.