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

Dúvida no Ex. 3 da Aula 1 - Consultando os dados

Porque na resposta "recebido" é do tipo "tinyint" e não boolean?

10 respostas
solução!

Leonardo é uma interpretação que o mysql faz pois ele não possui o campo do tipo boolean, então ele cria esse tinyint para representar o boolean pelo fato dele ser sinonimo do tinyint.

Segue documentação do mysql abaixo para verificar:

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

Então, mas no vídeo o Maurício criou "recebido" com o tipo boolean e nos exercícios ele trocou para tinyint.

Sim. você mesmo pode criar como boolean e verá que o próprio mysql faz essa mudança automática devidamente pelo fato de boolean ser o sinonimo de tinyint, essa é uma conversão do própro mysql.

Pergunta não relacionada, como eu troco a foto do meu perfil aqui?

Como que eles são sinônimos se tinyint vai de 0 a 255 e boolean de 0 a 1? https://msdn.microsoft.com/en-us/library/ms187745.aspx

Ai ja não sei te falar Leonardo, pois lendo a documentação do qual eu lhe passei o link podemos ver a própria explicação do mysql:

BOOL, BOOLEAN

These types are synonyms for TINYINT(1). A value of zero is considered false. Nonzero values are considered true:

Onde ele fala que os tipos BOOL e BOOLEAN são sinonimos para TINYINT.

Acredito que ele seja um pouco maior pelo fato de também aceitar true e false como argumentos para um insert.

Ah eu não tinha entendido o que ele quis dizer quando disse que eles são "sinônimos". Pelo que eu entendi vendo algumas discussões isso simplesmente significa que o mysql não possui uma função booleana embutida no sistema, ele então interpreta qualquer coisa "boolean" como tinyint. Por isso são "sinônimos". Essa afirmação seria um absurdo em outras linguagens de programação eu acredito.

Exatamente, na primeira vez que eu criei um boolean e ele virou tinyint também fiquei sem saber, foi onde pesquisei e cheguei a essas conclusões, seria muito mais fácil se ele tivesse um type boolean.

Verdade! Obrigado pelo seu tempo e cordialidade!

De nada, precisando sempre crie suas dúvidas.