Nun, es ist ziemlich einfach zu debuggen:
SELECT '"listeListeOuiNon":"2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
gibt 0 zurück
SELECT '"listeListeOuiNon":"1"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
gibt 1 zurück
SELECT '"listeListeOuiNon":"1,2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
gibt 1 zurück
Also stimmt etwas an Ihrer Seite nicht ... weil es einfach keine Zeilen zurückgeben konnte, in denen body gleich "listeListeOuiNon":"2"
ist . Aber es ist möglich, dass dieser Körper mehrere dieser Anweisungen hat, etwa so:
body => '"listeListeOuiNon":"1,2", "listeListeOuiNon":"2"'
Sie müssen also Ihren regulären Ausdruck ändern:
'^"listeListeOuiNon":".*1.*"$'
Nun, dann müssen Sie Ihre Abfrage ändern:
SELECT DISTINCT tag, body FROM pages
WHERE (body REGEXP BINARY '"listeListeOuiNon":".*1.*"') AND NOT (body REGEXP BINARY '"listeListeOuiNon":"2"')