亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

find_in_set - 請教 mysql查詢

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

問題描述

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

find_in_set - 請教 mysql查詢

問題解答

回答1:

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

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

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

回答2:

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

回答3:

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

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

回答4:

like 匹配

回答5:

like :539

回答6:

我說這是設計缺陷有人贊同嗎

回答7:

like相似匹配

回答8:

模糊查詢研究下

相關文章:
主站蜘蛛池模板: 亚洲欧美手机在线观看 | 成年人黄网站 | jizzjizz日本护士办公室 | 亚洲精品欧美日本中文字幕 | 98精品国产综合久久 | 国产女人精品性视频 | 国产精品不卡无毒在线观看 | 最新国产成人盗摄精品视频 | 精品推荐国产麻豆剧传媒 | 欧美日韩一区二区三区免费不卡 | 日韩欧美一二三 | 国产午夜视频高清 | 国产精品第1页在线观看 | 成年人在线免费观看视频网站 | 国产一区二区免费播放 | 久久福利一区二区 | 91在线精品麻豆欧美在线 | 成人做爰全过程免费看网站 | 五月天婷婷激情网 | 大陆精品自在线拍国语 | 国产精品亚洲w码日韩中文 国产精品亚洲成在人线 | 99pao在线视频精品免费 | 亚洲国产精品综合久久网络 | 国产黄毛片 | 亚洲六月丁香六月婷婷花 | 91福利社在线观看 | 国内自产拍自a免费毛片 | 香蕉网站狼人久久五月亭亭 | 亚洲一区二区三区四区在线 | 免费a级黄色毛片 | 女人被免费看在线看 | 国产一级性片 | 日本欧美一区二区三区免费不卡 | 网站在线观看高清免费 | 99久久综合 | 中日韩在线 | 97超视频在线观看 | 国产在线观看xxxx免费 | 成人网视频免费播放 | 欧美在线a级高清 | 日韩午夜伦y4480私人影院 |