Mysql WHERE问题以逗号分隔列表

Mysql WHERE问题以逗号分隔列表,第1张

概述我需要帮助解决这个问题.在MYSQL表中我有一个字段:Field : artist_list Values : 1,5,3,401 我需要找到艺术家uid 401的所有记录我这样做SELECT uid FROM tbl WHERE artist_list IN ('401'); 我有记录,其中artist_list字段值仅为'401',但如果我有11,

我需要帮助解决这个问题.

在MysqL表中我有一个字段:

FIEld  : artist_List  Values : 1,5,3,401

我需要找到艺术家uID 401的所有记录

我这样做

SELECT uID FROM tbl WHERE artist_List IN ('401');

我有记录,其中artist_List字段值仅为’401′,但如果我有11,401,则此查询不匹配.

任何的想法 ?

(我不能使用liKE方法,因为如果艺术家uID是3(匹配30,33,3333)…

最佳答案短期解决方案

使用FIND_IN_SET function:

SELECT uID   FROM tbl  WHERE FIND_IN_SET('401',artist_List) > 0

长期解决方案

规范化您的数据 – 这似乎是一个涉及两个表的多对多关系.逗号分隔列表需要转换为它自己的表:

ARTIST_List

> artist_ID(主键,ARTIST的外键)
> uID(主键,TBL的外键) 总结

以上是内存溢出为你收集整理的Mysql WHERE问题以逗号分隔列表全部内容,希望文章能够帮你解决Mysql WHERE问题以逗号分隔列表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1167522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存