首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Mysql在数组中搜索字符串

Mysql在数组中搜索字符串
EN

Stack Overflow用户
提问于 2018-07-24 06:02:26
回答 2查看 75关注 0票数 0

存储在数据库中的数据如下,其中category是列名,逗号分隔的字符串是值。

代码语言:javascript
复制
category = 'cat,cat1,cat2,cat3,cat33,cat4';

我正在尝试使用列表中的类别进行搜索:

代码语言:javascript
复制
$query= mysqli_query($mysqli, "SELECT * FROM table where
INSTR(category,'cat3') > 1 ");

但这不起作用,因为结果包括cat3和cat33。

有什么想法可以让我做这个搜索吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2018-07-24 06:18:08

代码语言:javascript
复制
"SELECT * FROM table where category LIKE '%cat3,%'";
"SELECT * FROM table where category LIKE '%cat33,%'";

如果您不想在每个类别名称的末尾添加逗号,那么"SELECT * FROM table where category LIKE '%cat3,%' OR category LIKE '%cat3'";

票数 0
EN

Stack Overflow用户

发布于 2018-07-24 07:00:18

你可以使用下面的查询来“解决”这个问题。但是我很难建议你规范化你的数据库,只有在你真的需要的时候才使用它

代码语言:javascript
复制
SELECT * FROM table WHERE fild LIKE '%,camp3,%' OR fild LIKE 'camp3' OR field LIKE '%,camp3'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51487771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档