Chà, việc gỡ lỗi khá dễ dàng:
SELECT '"listeListeOuiNon":"2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
trả về 0
SELECT '"listeListeOuiNon":"1"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
trả về 1
SELECT '"listeListeOuiNon":"1,2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
trả về 1
Vì vậy, có điều gì đó không ổn ở phía bạn ... bởi vì nó không thể trả về các hàng trong đó nội dung bằng "listeListeOuiNon":"2"
. Nhưng có thể, phần nội dung đó có một số câu lệnh trong số này, giống như:
body => '"listeListeOuiNon":"1,2", "ngheListeOuiNon":"2"'
Vì vậy, bạn phải sửa đổi regexp của mình:
'^"listeListeOuiNon":".*1.*"$'
Vâng, sau đó bạn phải sửa đổi truy vấn của mình:
SELECT DISTINCT tag, body FROM pages
WHERE (body REGEXP BINARY '"listeListeOuiNon":".*1.*"') AND NOT (body REGEXP BINARY '"listeListeOuiNon":"2"')