Étant donné que les champs de bits ne sont que des représentations binaires de données et doivent être interrogées de manière légèrement "étrange".
Fournit-il en fait un avantage en utilisant un champ de bit pour une valeur booléenne? D'après ce que je peux voir, il semble suggérer que l'espace est le seul bénéfice réel.
Personnellement, j'utiliserais le BOOLEAN
pour une valeur booléenne. Mais gardez à l'esprit la mise en garde que dans MySQL, BOOLEAN
est juste un synonyme de TINYINT(1)
[SRC] .
Bien entendu, cela signifie que vous pouvez avoir des valeurs autres que 0 ou 1 si vous ne faites pas attention. Pour éviter cela, vous pouvez utiliser les alias TRUE
et FALSE
lors de l'insertion et de la mise à jour des données, telles que la carte à 1 et 0 respectivement.
Par souci d'être complet, avant 5,0,3, BIT
était également synonyme de TINYINT(1)
.