Tja, det är ganska lätt att felsöka:
SELECT '"listeListeOuiNon":"2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
returnerar 0
SELECT '"listeListeOuiNon":"1"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
returnerar 1
SELECT '"listeListeOuiNon":"1,2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
returnerar 1
Så något är inte rätt vid din sida... eftersom det bara inte kunde returnera rader där body är lika med "listeListeOuiNon":"2"
. Men det är möjligt, det organet har flera av dessa uttalanden, ungefär:
body => '"listeListeOuiNon":"1,2", "listeListeOuiNon":"2"'
Så du måste ändra ditt regexp:
'^"listeListeOuiNon":".*1.*"$'
Tja, då måste du ändra din fråga:
SELECT DISTINCT tag, body FROM pages
WHERE (body REGEXP BINARY '"listeListeOuiNon":".*1.*"') AND NOT (body REGEXP BINARY '"listeListeOuiNon":"2"')