Pular para o conteúdo principal
O MySQL não tem booleano. BOOL é um alias para TINYINT(1), que aceita 5 e -1 tão bem quanto 1, e os devolve sem alteração. O vsql_boolean adiciona um tipo de coluna STRICTBOOL que armazena um byte e guarda dois valores.

Instalar

O vsql_boolean.veb já está no diretório lib/veb/ do servidor se você instalou o VillageSQL com o script de instalação, a imagem Docker ou um tarball de release. Instale-o no servidor com uma única instrução:
Confirme que ele está lá:
Para compilá-lo você mesmo, siga as instruções de compilação no repositório.

O que ela adiciona

O tipo STRICTBOOL

Uma coluna STRICTBOOL aceita as strings 'true'/'false', 't'/'f', 'yes'/'no', 'on'/'off' e '1'/'0', em qualquer combinação de maiúsculas e minúsculas. Passe-as como strings: um número sem aspas é recusado. Ela é lida como true ou false, qualquer que seja a forma que entrou, e ocupa um byte.

Funções

Exemplo

Quatro grafias entraram, e dois valores saíram. Conte-os:
Qualquer coisa fora das grafias aceitas é recusada no momento da inserção: INSERT INTO flags VALUES (5, 'eps', 'maybe') falha com ERROR 1366 (HY000): Incorrect STRICTBOOL value: 'maybe' for column 'active' at row 1. O mesmo acontece com um 1 sem aspas, com ERROR 3219 (HY000): Incorrect STRICTBOOL value: '1' for column 'active' at row 1.

Veja também