Nå, det er ret nemt at fejlfinde:
SELECT '"listeListeOuiNon":"2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
returnerer 0
SELECT '"listeListeOuiNon":"1"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
returnerer 1
SELECT '"listeListeOuiNon":"1,2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
returnerer 1
Så noget er ikke rigtigt ved din side... fordi det bare ikke kunne returnere rækker, hvor body er lig med "listeListeOuiNon":"2"
. Men det er muligt, at organet har flere af disse udsagn, noget som:
body => '"listeListeOuiNon":"1,2", "listeListeOuiNon":"2"'
Så du skal ændre dit regexp:
'^"listeListeOuiNon":".*1.*"$'
Nå, så skal du ændre din forespørgsel:
SELECT DISTINCT tag, body FROM pages
WHERE (body REGEXP BINARY '"listeListeOuiNon":".*1.*"') AND NOT (body REGEXP BINARY '"listeListeOuiNon":"2"')