gpt4 book ai didi

php - MYSQL 搜索具有逗号分隔值的单元格

转载 作者:行者123 更新时间:2023-11-29 00:13:56 25 4
gpt4 key购买 nike

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

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

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

enter image description here

最佳答案

这是数据库设计不良的标志,您应该首先查看 Database Normalization如果您可以更改结构,那么首先使用联结表对其进行规范化,现在您可以使用 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 数量一样多你的专栏

关于php - MYSQL 搜索具有逗号分隔值的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23632911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com