/ / MySQLクエリで2つの配列を比較するには? - php、mysql、配列、比較

どのようにmysqlクエリで2つの配列を比較するには? - PHP、MySQL、配列、比較

私は次のようにmm_testという名前のテーブルがあります: -

ID教育 1 3,4,6,8,9

この配列に(4,6)が含まれているかどうかをチェックしたい。 mysqlクエリを使用してこれを確認する方法。 Mysqlの "IN"コマンドが機能しません。

私はこのようにクエリを置きます...

mm_testから*を選択する。ここで、教育IN(4,6)。

しかし、このクエリは空の結果を返しました。どなたか助けてください。

回答:

回答№1の場合は7

あなたはこれを使うことができます find_in_set()

where find_in_set(4, educations) > 0 and
find_in_set(6, educations) > 0

しかし、これは一般的に非効率的です。 問題はあなたのデータ構造です。非常に不適切なデータ構造体(文字列)に整数のリストを格納するのではなく、教育ごとに1つの列を持つジャンクションテーブルを使用する必要があります。


回答№2の場合は0

これを使って FIND_IN_SETマニュアル

SELECT *
FROM mm_test
WHERE FIND_IN_SET(4, educations) > 0
AND FIND_IN_SET(6, educations) > 0;