デバッグは非常に簡単です:
SELECT '"listeListeOuiNon":"2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
0を返します
SELECT '"listeListeOuiNon":"1"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
1を返します
SELECT '"listeListeOuiNon":"1,2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
1を返します
したがって、何かがあなたの側に正しくありません...本文が"listeListeOuiNon":"2"
に等しい行を返すことができなかったためです 。ただし、その本文には、次のようなステートメントがいくつか含まれている可能性があります。
body =>'"listeListeOuiNon": "1,2"、 "listeListeOuiNon": "2"'
したがって、正規表現を変更する必要があります:
'^"listeListeOuiNon":".*1.*"$'
それでは、クエリを変更する必要があります:
SELECT DISTINCT tag, body FROM pages
WHERE (body REGEXP BINARY '"listeListeOuiNon":".*1.*"') AND NOT (body REGEXP BINARY '"listeListeOuiNon":"2"')