gpt4 book ai didi

php - sql字符串字段包含一个id

转载 作者:行者123 更新时间:2023-11-29 13:12:21 24 4
gpt4 key购买 nike

我的数据库中有一个表 projects 。在此表中有一行 categories其中是项目所在的所有categories_id。例如项目属于类别1和类别2,因此行值为1,2 。我想要的是计算一个类别中的所有项目。所以我尝试这个:

select * from `projects` WHERE '{$id_cat}' IN (`categories`) 

但它不计算具有多个类别的项目。我不想使用LIKE

select * from `projects` WHERE `categories` LIKE '%{$id_cat}%'

因为例如,如果我有一个属于类别 11 的项目,并且我尝试查找类别 1 中的所有项目,则此查询也将返回此值。

最佳答案

在 MySQL 中,您可以使用 find_in_set() 来完成此操作。不过,首先,您可以通过在两侧添加分隔符来使 like 工作:

select *
from `projects`
WHERE concat(',', `categories`, ',') LIKE '%,{$id_cat},%';

等效的find_in_set()是:

select *
from `projects`
WHERE find_in_set($id_cat, categories) > 0;

关于php - sql字符串字段包含一个id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21913110/

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