Autor Tópico: MySQL - Porque usar Unsigned e qual a diferença entre unsigned e signed  (Lida 1654 vezes)

Offline Nuno

  • Administrator
  • Full Member
  • *****
  • Mensagens: 208
  • Reputação: +0/-0
    • Ver Perfil
Esta era uma dúvida que eu tinha sempre que necessitava de criar as minhas tabelas.

Fica aqui uma pequena explicação do unsigned e signed:

Citar
Unsigned é uma atribuição para campos inteiros de tabelas de MySQL. Um colega, iniciante nesta área me perguntou, ao ver um diagrama de classes que eu havia lhe passado, sobre o porque de utilizar em todos os meus indexes essa atribuição, perguntei então se ele sabia o que significava e o mesmo não soube me responder. minha primeira explicação foi a mais simples possível: Campos que utilizam essa atribuição não podem ser negativos, mas aquilo ficou me cutucando a mente e fui fazer uma busca por maiores detalhes. Me deparei com uma informção muito legal sobre o Range de números suportados no Mysql:

A maior diferença entre um campo marcado como unsigned é que esse tipo de campo não pode ser negativo, então se você está criando um index é bom utilizá-lo sempre como unsigned, mas existe um outro benefício, um “range” maior de números positivos para se trabalhar

Tinyint:
signed range é de -128 até 127.
unsigned range - 0 até 255

Mediumint:
signed range é de -8388608 até 8388607
unsigned range é de 0 até 16777215

Bigint:
signed range é de -9223372036854775808 até 9223372036854775807
unsigned range é de 0 até 18446744073709551615

Fonte: lemos.biz
« Última modificação: Janeiro 14, 2009, 12:15:04 am por Nuno »