Ir ao conteúdo

Posts recomendados

Postado

Meu banco cria as chaves primárias assim 1 , 2 , 3 , 4 , 5 , 6 ...........e assim por diante .
como posso fazer uma alteração para que ele gere as chaves primarias assim 102 , 202 , 302 , 402 , 502 , 602 ...... e assim por diante ....

Att
Virtuabr

Postado

Boa noite !

 

Eu posso fazer isso ALTER TABLE usuarios AUTO_INCREMENT=53901;

 

para ele iniciar a partir do 53901 ?  ou esse comando só  funciona para tabelas "zeradas"

 

Att

Otávio


Boa Noite dif !

 

Um adendo em vossa resposta ! 

 

O seu comando .....  muda a chave primaria , para 101 , 102 , 103 ......  o que eu preciso é 101 , 201 , 301 ......

 

Ou seja ....sempre o numero 01 a frente da sequencia do ID

 

att

otávio

  • Moderador
Postado

@tavios

 

acho que isso não é possível fazer.. não pelo menos no mysql. Pode ser que dê para fazer outros bancos.. como DB2, Firebird entre outros..

 

O auto increment é um recurso para sempre incrementar em 1 o valor inicial.. No seu caso é diferente...  talvez aí terias que sempre que for adicionar um registro , inserir o valor do campo ID manualmente, veja que esse manualmente não quer dizer que tenhas que escrever.. podes criar uma classe em php por exemplo só para gerar os valores que você quer.. e inserir na tabela  veja o mesmo exemplo que citei de outra forma:

 

http://sqlfiddle.com/#!9/27584/1

 

Uma coisa é certa,  não dá para usar o campo sendo auto increment se não quer que ele seja incrementado em 1 a cada registro

Postado

Dif, essa "classe" , pode ser criada em um banco mysql que já está com informações inseridas ?

 

Se sim, isso iria me ajudar muito,  fecharemos esse tópico para e eu abriria um sobre classe no bd Mysql ?

 

Att

Otávio

  • Moderador
Postado

@tavios

 

A classe que disse, pode não ser uma classe se quiser, pode ser uma simples função em php. , geralmente é criado uma classe para esse tipo de coisas( isso requer conhecimentos em orientação a objetos)

Em tese, não se aplica em um banco de dado com informações já inseridas.. por conta do campo auto increment que disse anteriormente.

 

Nesse caso, tu terias que alterar manualmente os que já estão registradas.

 

Sobre o tópico, se ainda ficar no mysql pode usar este mesmo tópico... caso seja a necessidade de fazer algo em linguagem de programação, aí sim encerra o tópico  e abra outro no setor de web.

 

 

Sugestão: Se a sua tabela contém poucos dados ainda, faça um update na estrutura, retirando o auto increment e colocando manualmente o valor que quer.

 

se tiver muitos dados... aí complica.. por que não tem uma forma de automatizar isso..

 

Uma pergunta:  qual a necessidade de utilizar valores não incrementados no banco? e por que não inicia pelo 1( padrão)?

Inserindo um dado na tabela que não seja auto incrementado, pode gerar inconsistência de dados..  duplicações de valores do registro... aí sim terias uma baita dor de cabeça.

Postado

Dif 

Os produtos já cadastrados, poderei alterar os códigos  manualmente sem problemas, se eu tivesse uma solução para que o proximo incremento seja o sucessor de "2 em 2" mau banco ficaria assim  101, 201, 301, 401..........................53501, 53601,53701, 53801, 53901 ...............o próximo seria 54001 ...

 

Gostaria de usar essa rotina para nao dar conflito em uma replicação de banco de dados entre o site1 com o Site2 e o ERP

 

Na replicação ou importação de dados do Site1 para o ERP o cód do auto incremento Seria 101,201,301 .

 

Na replicação ou importação de dados do Site1 para o ERP o cód do auto incremento Seria 102,202,302  

 

Na replicação ou importação de dados do ERP para o Site1 ouo Site2 o cód do auto incremento Seria 103,203,303

 

Para Evitar Conflito ou duplicidade de Id 

 

Att

Otávio

  • Moderador
Postado

@tavios

Emtendi...

 

Bem. Não sei se os outros bancos de dados podem fazer.. mas no mysql  quando se fala em auto incremento, ele incrementa em 1 sempre no final do número.. ou seja,  10,11,12,13..  se começa em 101, o próximo é 102

Se começa em 001, o próximo é 002 e  por aí vai...

 

Acredito que isso não tenha uma solução concreta para teu problema em específico.. Mas certamente seu banco vai ter inconsistência de dados.

Postado

Boa tarde !

 

Senhores, é mais complicado do que imaginei pelo menos pra mim que não sou programador igual a vocês ...Caso alguém queira fazer algum processo que resolva meu problema 

 

 

Att

Otávio

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!