如何在mysql查询中比较两个数组?

Rak*_*yan 0 php mysql arrays comparison

我有一个名为mm_test的表如下: -

id    educations 
1     3,4,6,8,9

我想检查这个数组是否包含(4,6).如何使用mysql查询检查这个.Mysql'IN'命令对我不起作用.

我把这样的查询...

select * from mm_test where educations IN (4,6);

但是这个查询返回了空结果.请任何人帮助我.

Gor*_*off 7

你可以这样做find_in_set():

where find_in_set(4, educations) > 0 and
      find_in_set(6, educations) > 0
Run Code Online (Sandbox Code Playgroud)

然而,这通常是低效的.问题是你的数据结构.对于每个教育,您应该使用一个包含一列的联结表,而不是将一个整数列表存储在一个非常不合适的数据结构中 - 一个字符串.