Jump to content


Photo

Auto Increment Por Select


  • Faça o login para participar
6 replies to this topic

#1 xuxa gremista

xuxa gremista

    Turista

  • Usuários
  • 51 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre - RS

Posted 26/11/2008, 20:53

Olá amigos,
Boa noite,

Gostaria de saber como incrementar um campo inteiro automaticamente pelo banco quando houver um select nele

Ex:
SELECT MeuCampo1, MeuCampo2 FROM minha_tabela

e autoincrementar por exemplo MeuCampo2

Desde já, agradeço
Um abraço

#2 --The Matrix--

--The Matrix--

    Normal

  • Usuários
  • 118 posts
  • Sexo:Masculino
  • Localidade:Avaré - SP

Posted 27/11/2008, 08:41

vish! tem que ser somente via select? oque voce poderia fazer é fazer um outro select pra pegar o valor do autoincrement e ai um update pra adicionar 1.
Ricardo Crivelli
Delphi Developer Certified
CobiT Foundation 4.1 Certified
@ricocrivelli
4Bytes Inc. - Desenvolvimento de sistemas especialistas web.

#3 Squall Robert

Squall Robert

    Mr. Squall - Mais Carne do que Osso (hihi)

  • Usuários
  • 507 posts
  • Sexo:Masculino
  • Localidade:Curitiba
  • Interesses:Php ... Php...Php

Posted 27/11/2008, 08:43

mano... nao da pra indetender o que vc quer... explica melhor...

pelo que entendi vc quer pegar todos os campos com o mesmo nome quemuda um numero na frente ... é isso?

nao tem como vc isso se nao for via php .. ou usar * pra trazer todos os campos....

e no php vc faz um looping e vai concatenando os campos
<?php

$squall = new Squall();

$squall->Ajudando("você");

$resultado = $squall->solucao();  ?>

#4 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 27/11/2008, 08:44

É recurso de banco de dados...
Se der suporte a SEQUENCEs, fica mais fácil!
Qual é o seu SGBD?

Edição feita por: boirock, 27/11/2008, 08:46.


#5 xuxa gremista

xuxa gremista

    Turista

  • Usuários
  • 51 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre - RS

Posted 30/11/2008, 13:26

Olá amigos!
Muito obrigado pelas respostas.

Uso MySQL 5 e pesquisei sobre SEQUENCES como sugerido direto no manual mysql e no forum. foi uma pesquisa rápida confesso mas aparentemente nao obtive resultado.

Vou tentar explicar melhor para que fique mais claro para os amigos:

Gostaria de incrementar um campo em determinada tabela. Gostaria que este campo fosse incrementado quando determinada linha fosse selecionada.

Ex:
SELECT Id,Nome,Cliques FROM paises
Considere:
Id primary key auto increment;
Nome varchar;
Cliques integer;

O campo que gostaria de incrementar a cada seleção é o cliques.


Este é um exemplo simples bem proximo de minha real necessidade.
É possível fazer isto com php sim. Mas seria uma contribuição enorme para efeitos de esforço de programação e posterior manutenção uma solução via banco.

Pensei em algo via functions estilo triggers, mas realmente não manjo muito, se alguem tiver um link para apontar também é bem vindo.
O sistema está baseado numa classe semelhante ao voegeli mas customizada por mim (se isso contribuir para alguma sugestão).

Um abraço à todos!
Obrigado

Edição feita por: xuxa gremista, 30/11/2008, 16:19.


#6 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 30/11/2008, 18:19

É... MySQL não tem suporte nativo a sequences, infelizmente, como dito aqui. Preferiram manter o padrão da propriedade "auto-increment". :unsure:

Sim, vai ter que ser por stored procedure/function sim!
Inclusive, você até acha no google alguns exemplos ensinando a fazer uma gambiarra que se comporta como uma sequence no MySQL.
Cria uma tabela e uma stored.... e chama a stored dentro do SELECT!

O que você vai ter que fazer não é muito diferente disso, só que não precisa criar uma outra tabela porque não trabalhará com unicidade.

Basta ter uma stored que incremente sua coluna e retorne este valor.
Aqui temos alguns tópicos falando sobre criaçaõ de procedures no fórum de MySQL, mas se quiser... http://dev.mysql.com...-procedure.html

Divirta-se! :) hehehe

#7 xuxa gremista

xuxa gremista

    Turista

  • Usuários
  • 51 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre - RS

Posted 08/12/2008, 10:48

Olá amigos,
Bom dia,


Obrigado à todos pela colaboração.
Eu havia visto http://dev.mysql.com...-procedure.html anteriormente mas não tinha certeza.
Realmente estou a usar SP com tabelas temporárias!

Obrigado à todos!
Um abraço




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq