MySQL vous trompe en fait. Il n'a pas du tout de type de colonne booléenne :
De plus, les littéraux booléens ne sont pas tels :
Considérant que :
- De nombreux systèmes de bases de données n'ont pas non plus de booléens (pas du moins dans le SQL standard et les types de colonnes)
- MySQL n'a pas de moyen facile d'appliquer
0
ou1
enBOOLEAN
Ma conclusion serait :
- Vous devrez utiliser l'indicateur
WHERE IS flag
ou simplementWHERE flag
car=
ne fonctionne tout simplement pas correctement. Lequel est peut-être une question de préférence. - Quel que soit votre choix, aucune option ne sera indépendante du fournisseur. Par exemple, Oracle n'exécutera même aucun d'eux.
Modifier : si le multiplateforme est indispensable, je choisirais ceci :
WHERE flag=0
WHERE flag<>0
Je suis sûr que nous l'avons tous fait de nombreuses fois.