Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kingless

[Mysql] tinyint() int()

Recommended Posts

Rafel Moura... Eu se estou aqui é porque já procurei no Google.. no site do mysql... e até agora não encontrei NADA.E isso tudo que estás a explicar ai eu já li... Eu quero é que alguem me diga o que é que acontece se eu colocar:`id` int(10) unsigned NOT NULL AUTO_INCREMENTo que é que o int(10) faz...?Da proxima vez antes de dizer que o google é meu amigo pergunta se eu ja pesquisei no google... ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, não criemos conflitos desnecessários. o problema é que muitos não pesquisam e pedem ajuda no fórum de cara.

Respondendo à sua dúvida:

 

Ali você cria o campo 'id', que é um número INTeiro. Ele não terá sinal (unsigned), ou seja, sempre positivo; é um campo obrigatório, não podendo ser NULO (NOT NULL). e, por fim, é um campo que se incrementa (soma 1) automaticamente (auto_increment).

 

Sacou?

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não me entenda mal.. Mas com a explicação que lhe passei logo você iria ver que ambos tipos podem ser armazenados somente numeros.

Isso eu já sei... ;)

 

 

 

beleza, não criemos conflitos desnecessários. o problema é que muitos não pesquisam e pedem ajuda no fórum de cara.

Respondendo à sua dúvida:

 

Ali você cria o campo 'id', que é um número INTeiro. Ele não terá sinal (unsigned), ou seja, sempre positivo; é um campo obrigatório, não podendo ser NULO (NOT NULL). e, por fim, é um campo que se incrementa (soma 1) automaticamente (auto_increment).

 

Sacou?

 

Abraço

Só queria saber o que o int(num); faz... o resto dos comandos SQL eu já sei porque trabalho sempre com mysql... Só queria mesmo é tirar essa pequena duvida sobre int(num); queria saber o que é que o numero que está dentro do int(numero); faz..

 

EDITADO: Já li num tutorial de MySQL... Obrigado ae ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu amigo eu me cadastrei no forum só para isso porque é uma vergonha as respostas vista aqui!

 

Os campos do tipo int tem o mesmo tamanho, não interessa se você colocou int(1) ou int(11). Mas está informação é usada para que o MySQL saiba quntos zeros podem

ser preenchidos, caso de você coloque a opção zerofill.

Por Exemplo:

1. id int(1) zerofill terá o resultado [01,02 ...]

2. id int(11) zerofill terá o resultado [00000000001, 00000000002 ...]

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Pedro Jr, bem vindo ao iMasters.

 

Obrigado por compartilhar seu conhecimento conosco, continue contribuindo mais educadamente em tópicos mais recentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Complementando o Pedro Jr,

 

o numero de dentro dos () exclusivamente para campos numéricos (TINYINT, INT, MEDIUMINT, BIGINT), só serve quando o campo é ZEROFILL ou seja, ele diz quantos ZEROS a esquerda será completo caso o campo não tenha atingido seu tamanho maximo

 

o UNSIGNED é um bit que caso marcado aceita ou não numeros negativos, lembrando que caso ele esteja marcado, a capacidade de armazenamento do campo fica reduzida

 

e agora vem o que interessa, o que diz qual o tamanho do campo, sua capacidade é a denominação TINYINT, INT, MEDIUMINT, BIGINT que além de relação com capacidade, tem relação com o tamanho que ele vai ocupar no disco

 

conforme da doc do mysql:

  • TINYINT - ocupa 1 byte e se tiver com unsigned marcado pode ter valores entre -128 e 127, caso não tenha unsigned marcado aceita valores entre 0 e 255
  • SMALLINT - ocupa 2 byte e se tiver com unsigned marcado pode ter valores entre -32768 e 32767, caso não tenha unsigned marcado aceita valores entre 0 e 65535
  • MEDIUMINT - ocupa 3 byte e se tiver com unsigned marcado pode ter valores entre -8388608 e 8388607, caso não tenha unsigned marcado aceita valores entre 0 e 16777215
  • INT - ocupa 4 byte e se tiver com unsigned marcado pode ter valores entre -2147483648 e 2147483647, caso não tenha unsigned marcado aceita valores entre 0 e 4294967295
  • BIGINT - ocupa 8 byte e se tiver com unsigned marcado pode ter valores entre -9223372036854775808 e 9223372036854775807, caso não tenha unsigned marcado aceita valores entre 0 e 18446744073709551615

 

vamos supor que no seu formulário você tenha um campo que recebe no maximo 4 inteiros, seu valor máximo seria 9999 então não se tem a necessidade de colocar um INT pois cada registro vai ocupar 4 bytes podemos colocar um SMALLINT UNSIGNED que irá comportar o nosso numero (pois ele comporta até 65535) e ocupará a metade 2 bytes

 

isso aí, espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.