繁体   English   中英

在JSON编码数组上的数组运算符中使用mysql?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM