Samfera 0 Denunciar post Postado Agosto 22, 2012 PessoALL, Estou tentando juntar 2 tabelas de banco de dados diferentes, porém, o campo ID, que as 2 tabelas possuem, tem registros com a mesma numeração. Gostaria da adicionar um número na sequencia do campo ID. Tipo: O campo ID tem o seguinte valor: 0001 gostaria que ficasse 9001, ou seja, o número substituiria o primriro 0 por 9 na frente de todos os registros. Dessa forma eu poderia copiar a tabela completa se duplicação de dados. Desde já obrigado. Cláudio Compartilhar este post Link para o post Compartilhar em outros sites
DiegoAngra07 21 Denunciar post Postado Agosto 22, 2012 Boa tarde amigo, Porque não faz uma VIEW das duas tabelas? Já que você que juntá-las eu suponho que tenham o mesmo número de colunas e tipos de dados. Procure sobre VIEW, pois da maneira que você quer tentar acho que vai acabar ferrando com seus IDs, pois digamos que você consiga o que quer, o primeiro ID na tabela será o 9001 (nove mil e um). Um sugestão, quem sabe se você postar mais detalhes sobre o que quer fazer possamos estudar ideias melhores. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 22, 2012 Id é perigoso de mudar (para dizer o mínimo) pois as tabelas dependentes tem de ser mudadas também. Mas querendo mudar a síntaxe é perigosamente simples update tabela set id = (9000 + id) mas é preciso analisar muita coisa antes de fazer isto, é fazer um backup também. Compartilhar este post Link para o post Compartilhar em outros sites
Samfera 0 Denunciar post Postado Agosto 23, 2012 Nobres DiegoAngra07 e Motta: Obrigado por responder. Na verdade preciso das 2 juntas. É um cadastro de clientes simples de 2 filias. Como é uma tabela simples e não existe ligações com outras tabelas, posso usar o comando que o Motta sugeriu. Só que tem um detalhe no comando mota: Seguindo sua sintaxe meu ID que é 0001 vai passar a ser 9001 ou vai ficar 90000001? Se ficar como a segunda opção vou ter problemas, pois, o tamanho do campo 4. Eu queria "substituir" o primeiro número do ID por "9". Se o ID é 0008 o mesmo mudará para 9008. Obrigado, Cláudio Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 23, 2012 ... posso usar o comando que o Motta sugeriu. Só que tem um detalhe no comando mota: Seguindo sua sintaxe meu ID que é 0001 vai passar a ser 9001 ou vai ficar 90000001? Se ficar como a segunda opção vou ter problemas, pois, o tamanho do campo 4. ... Se Id é numérico ficará 9001 Se for alfa creio que ficará 90000001 (depende de como o Mysql converte tipo, não sei). Compartilhar este post Link para o post Compartilhar em outros sites
DiegoAngra07 21 Denunciar post Postado Agosto 23, 2012 Amigo, o comando do Motta vai funcionar da maneira que você quer. O seu campo de ID é inteiro certo? Ou seja, 0001 é a mesma coisa que 1. Logo 9000 + 1 = 9001 =] E assim por diante. Mas reforço o que ele disse, faça um backup pra garantir, pelo menos dessas 2 tabelas. A VIEW que eu citei não te atende? Eu não mudaria ID de tabela nunca. Já pensou em exportar os dados das duas tabelas e importar em uma tabela nova, sem importar os IDs? Por exemplo, você terá dois arquivos com as informações das tabelas (incluindo os IDs). Depois é só você importar estes arquivos, sem os IDs, numa tabela nova. A cada registro que estará sendo importado um ID novo estará sendo gerado. Já que você disse que não possui relacionamentos com esta tabela não influiria em nada de mais. Pense a respeito, ou então faça o que já planejou mesmo, estou apenas dando sugestões :D Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
Samfera 0 Denunciar post Postado Agosto 23, 2012 Vou seguir as dicas de vocês. Os backups já foram feitos, vou exportar e importar p/ uma nova tabela e vou usar o comando que o Motta sugeriu. Mais uma vez obrigado, Cláudio Motta, Utilizei o seu comando e não deu certo. Me parece que ele tenta somar o valor (9) com a ID(0001). Onde (9 + id) é igual a 10 e o resultado é essa mensagem: Entrada '0010' duplicada para a chave 'PRIMARY' Será que há algo errado na sintaxe? Obrigado, Cláudio Compartilhar este post Link para o post Compartilhar em outros sites
DiegoAngra07 21 Denunciar post Postado Agosto 23, 2012 Amigo, você tem que somar 9000 (nove mil). Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 23, 2012 9000 1 ---- 9001 :) Compartilhar este post Link para o post Compartilhar em outros sites
Samfera 0 Denunciar post Postado Agosto 23, 2012 Entendido parceiro! Achei que fosse concatenação. Funcionou direitinho. Agora posso pegar a tabela inteira sem problemas de duplicação de chave primária. Muito obrigado mesmo. Sds, Cláudio Compartilhar este post Link para o post Compartilhar em outros sites