在工作中,經(jīng)常會(huì)遇到一對(duì)多的關(guān)系,比如用戶和愛(ài)好。
想要在 Mysql 中保存這種關(guān)系,一般有兩種方式:
文章來(lái)源地址http://www.zghlxwxcb.cn/article/210.html
第一種是建立一張用戶愛(ài)好表 user_hobby(user_id, hobby_id),這樣一條user_id就會(huì)存在多條記錄。
第二種方式,直接在用戶表中增加 hobby_ids 字段,將hobby_id拼接成用逗號(hào)分隔的字符串保存起來(lái)。
文章來(lái)源:http://www.zghlxwxcb.cn/article/210.html
那么問(wèn)題來(lái)了,如果采用第二種方式的話,查詢的時(shí)候要如何處理呢?下面介紹幾種常見(jiàn)的處理方式。
一、like
select * from user where hobby_ids like '%1%';
二、find_in_set
select * from user where find_in_set('1', hobby_ids);
select * from user where find_in_set('1', hobby_ids) or find_in_set('2', hobby_ids);
三、regexp
select * from user where hobby_ids regexp '(^|,)(1|2)(,|$)';
到此這篇關(guān)于Mysql 逗號(hào)分隔的字段查詢的文章就介紹到這了,更多相關(guān)內(nèi)容可以在右上角搜索或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!