MySQL faktycznie cię oszukuje. w ogóle nie ma typu kolumny logicznej :
Ponadto litery logiczne nie są takie :
Biorąc pod uwagę, że:
- Wiele systemów baz danych również nie ma wartości logicznych (przynajmniej w standardowych typach SQL i kolumnach)
- MySQL nie ma łatwego sposobu na wymuszenie
0
lub1
wBOOLEAN
Mój wniosek byłby następujący:
- Będziesz musiał użyć
WHERE IS flag
lub po prostuWHERE flag
ponieważ=
po prostu nie działa poprawnie. Który z nich jest prawdopodobnie kwestią preferencji. - Cokolwiek wybierzesz, żadna opcja nie będzie niezależna od dostawcy. Na przykład Oracle nawet nie uruchomi żadnego z nich.
Edytuj: jeśli wieloplatformowość jest koniecznością, wybrałbym to:
WHERE flag=0
WHERE flag<>0
Jestem pewien, że wszyscy robiliśmy to wiele razy.