繁体   English   中英

MYSQL搜索带有逗号分隔值的单元格

[英]MYSQL search through cells with comma separated values

我正在构建一个AJAX调用,该调用将变量(id)数组传递给一个函数,如果该id在其“ catid”单元格中存在,则该查询将查询数据库以返回行。

我知道如何使用数组来使用“ IN” MYSQL命令,但是在这种情况下,单元格中存储了多个ID(以逗号分隔)。 这被存储为varchar。 有什么办法可以遍历存储在行类别单元格中的各个ID?

这是数据库中示例行的屏幕截图。 我已突出显示行的“ catid”单元格。 如您所见,行可以是许多类别的一部分,这些类别ID以逗号分隔)...

在此处输入图片说明

这表明数据库设计不良,您应该首先查看数据库规范化 ,如果可以更改结构,然后首先使用联结表对其进行规范化,到目前为止,您可以使用FIND_IN_SET()在逗号中查找对应的记录ID。分隔的ID列

SELECT * FROM table 
WHERE  FIND_IN_SET('id1',column) > 0
AND FIND_IN_SET('id2',column) > 0
AND FIND_IN_SET('id3',column) > 0

根据您的意愿更改运算符,我已在AND运算符示例中显示,请注意,您需要使用FIND_IN_SET次数与需要与列进行比较的数组中的ID FIND_IN_SET一样多

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM