午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

find_in_set - 請教 mysql查詢

瀏覽:227日期:2022-06-20 18:36:16

問題描述

mysql 表中字段option_tag 存儲的值格式(分號)為: 4:539;8:543;4:545;8:549通過 find_in_set() 可以查找到以逗號分隔的字符串。以分號分隔的 字符串 有什么函數(shù)直接能查詢到 option 含有 539的所有值?

find_in_set - 請教 mysql查詢

問題解答

回答1:

sql語句:SELECT * FROM tableWHERE locate(’:539;’, CONCAT(options_tag, ’;’)) > 0

用like的方法邏輯上不嚴謹,如4:2539這種情況也會被like匹配,但不是想要的結(jié)果。

從設(shè)計方案考慮,如果是復(fù)雜的數(shù)據(jù)類型,建議存成json格式,mysql高版本直接內(nèi)置了json解析、查詢功能。

回答2:

通過like或者正則即可。但是不建議將邏輯放在mysql中,造成數(shù)據(jù)庫引擎壓力過大,而且極度不安全。正確的做法應(yīng)該是把整個字段的值取出來,作為字符串然后用語言比如php python nodejs之類的處理。

回答3:

SELECT * FROM tableWHERE options_tag LIKE ’%539%’;

正如@小蟲哥哥 所說,這是設(shè)計缺陷,這看起來是一個一對多或者多對多的關(guān)系,不應(yīng)該用一個字段存起來,不僅查詢效率低(在SQL里對字段進行運算有可能會使該字段的索引無法被使用),而且查詢起來也不靈活。

回答4:

like 匹配

回答5:

like :539

回答6:

我說這是設(shè)計缺陷有人贊同嗎

回答7:

like相似匹配

回答8:

模糊查詢研究下

相關(guān)文章:
主站蜘蛛池模板: 色资源在线观看 | 亚洲激情视频在线 | juliaann欧美二区三区 | 天堂在线中文字幕 | 噜噜噜视频 | 久久大陆| 亚洲a精品| 成人久久久精品乱码一区二区三区 | 黄色一级视频网站 | 日韩在线观看免费 | 成人在线观看国产 | 极品少妇一区二区 | 伊人网综合视频 | 久久久久久久久久久91 | 久久精品视频3 | 精品少妇一区二区三区免费观看 | 午夜影片 | 亚洲欧美日韩在线播放 | 欧美一区二 | 欧美色人阁 | 欧美体内she精高潮 偷拍在线视频 | 在线观看xxxx| 狠狠操91 | 免费一级特黄特色大片 | 欧美日韩三级在线 | 成人国产精品视频 | 国产欧美在线看 | 国产毛片aaa | 欧美日韩视频在线 | 国产成人精品一区二区三区 | 中日韩欧美在线观看 | 四虎影视永久免费观看 | 午夜激情在线播放 | 影音先锋男人天堂 | 国产一区二区久久 | 久久99精品国产 | 国产成人精品在线视频 | 国产伦精品一区二区三区免费视频 | 亚洲欧美另类自拍 | 亚洲男人的天堂在线观看 | 日本男人的天堂 |