Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

COLUNA DEFINIDA COMO BOOLEAN OU TINYINT(1) ACEITA OUTROS NÚMEROS

Olá, estive testando alguns INSERTS no banco de dados e percebi que a coluna RECEBIDO que foi definida como BOOLEAN ou TINYINT(1), nos dois caos, aceita a inserção de dados diferentes de FALSE ou TRUE (ou '0' ou '1'). Testei, por exemplo INSERT INTO COMPRAS (VALOR, DATA, RECEBIDO, OBSERVACOES, FORMA_PGTO) VALUES (500, '2016-07-12', 3, 'NENHUMA', 'CARTAO'); O 3 para o recebido não gerou nenhum erro.

2 respostas
solução!

Oi Renan, o tinyint aceita números que fiquem no range de 1 byte. O tipo boolean é um alias para o tinyint. A sacada aí é que zero é tratado como false e o resto como true.

http://dev.mysql.com/doc/refman/5.7/en/integer-types.html

http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html

Entendi. Agora ficou bem claro. Obrigado Alberto!