例如,有一张表
| uid | uname | hobby |
+-----+-------+---------------------------------+
| 1 | AAAA | 音乐,电影,网络,篮球,阅读,乒乓球 |
| 2 | BBBB | 音乐,阅读,乒乓球,发呆,围棋,参禅 |
| 3 | CCCC | 交友,乒乓球 |
+-----+-------+---------------------------------+
有一个 string =‘音乐,发呆’;要在表中找出hobby字段中有音乐和发呆这两项的数据。请问应该怎么做啊,谢谢。还有,请问,比如说我要存储2个爱好,建表时,是建一个hobbys字段,存储‘音乐,发呆’。还是建2个字段hobby1,hobby2.分别存储‘音乐,发呆’。哪一个有利于以后的查询以及写入。网站使用PHP编的。
| uid | uname | hobby |
+-----+-------+---------------------------------+
| 1 | AAAA | 音乐,电影,网络,篮球,阅读,乒乓球 |
| 2 | BBBB | 音乐,阅读,乒乓球,发呆,围棋,参禅 |
| 3 | CCCC | 交友,乒乓球 |
+-----+-------+---------------------------------+
有一个 string =‘音乐,发呆’;要在表中找出hobby字段中有音乐和发呆这两项的数据。请问应该怎么做啊,谢谢。还有,请问,比如说我要存储2个爱好,建表时,是建一个hobbys字段,存储‘音乐,发呆’。还是建2个字段hobby1,hobby2.分别存储‘音乐,发呆’。哪一个有利于以后的查询以及写入。网站使用PHP编的。
select * from tt where repalce(hobby,'|') regexp '音乐|发呆'还有,请问,比如说我要存储2个爱好,建表时,是建一个hobbys字段,存储‘音乐,发呆’。还是建2个字段hobby1,hobby2.分别存储‘音乐,发呆’uid | uname | hobby |
1 a 音乐
1 a 发呆
or
uid | uname | hobbyid |
1 a 1
1 a 2hobby:
hobbyid hobbymame
1 音乐
2 发呆
select * from 有一张表 where hobby regexp replace('音乐,发呆',',','|');参考下贴中的例子。
http://blog.csdn.net/acmain_chm/article/details/4141864
只能用普通的 hobby like '%音乐%' and hobby like '%发呆%'