No, je to docela snadné ladit:
SELECT '"listeListeOuiNon":"2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
vrátí 0
SELECT '"listeListeOuiNon":"1"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
vrátí 1
SELECT '"listeListeOuiNon":"1,2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
vrátí 1
Takže na vaší straně něco není v pořádku... protože prostě nemůže vrátit řádky, kde se tělo rovná "listeListeOuiNon":"2"
. Ale je možné, že toto tělo má několik těchto prohlášení, něco jako:
body => '"listeListeOuiNon":"1,2", "listeListeOuiNon":"2"'
Takže musíte upravit svůj regulární výraz:
'^"listeListeOuiNon":".*1.*"$'
Pak musíte svůj dotaz upravit:
SELECT DISTINCT tag, body FROM pages
WHERE (body REGEXP BINARY '"listeListeOuiNon":".*1.*"') AND NOT (body REGEXP BINARY '"listeListeOuiNon":"2"')