mysql SELECT 点赞点赞
mysql SELECT where like and like
我在名为 products
的 table 中有一个名为 papers
的列,其值如下:
"1,2,3,4,5,6" 而在另一行中它有这样的 "3,4,5"
我想使用 php、
启动此查询
SELECT * from products where papers like "%5%" AND papers like "%3%" and papers like "%4%"
TL;DR
我想select一个有多个字符串的列,忽略顺序
在MySQL中,您可以使用find_in_set()
:
select *
from products
where find_in_set('3', papers) and find_in_set('4', papers) and find_in_set('5', papers)
请注意,您的问题表明数据库设计存在缺陷。您不应在单个字符串列中存储多个整数值。相反,您应该将每个整数值放在单独的行中,可能在另一个 table 中,这将通过外键约束引用主 table。推荐阅读:Is storing a delimited list in a database column really that bad?.
我在名为 products
的 table 中有一个名为 papers
的列,其值如下:
"1,2,3,4,5,6" 而在另一行中它有这样的 "3,4,5"
我想使用 php、
启动此查询SELECT * from products where papers like "%5%" AND papers like "%3%" and papers like "%4%"
TL;DR
我想select一个有多个字符串的列,忽略顺序
在MySQL中,您可以使用find_in_set()
:
select *
from products
where find_in_set('3', papers) and find_in_set('4', papers) and find_in_set('5', papers)
请注意,您的问题表明数据库设计存在缺陷。您不应在单个字符串列中存储多个整数值。相反,您应该将每个整数值放在单独的行中,可能在另一个 table 中,这将通过外键约束引用主 table。推荐阅读:Is storing a delimited list in a database column really that bad?.