Ir ao conteúdo

Comando para gerar id automatico


Rodrigo Dallagno

Posts recomendados

Postado

Tenho algumas tabelas para criar no interbase, mas quero que o código seja gerado automaticamente como faço isso ?

e outra coisa por exemplo tenho a tabela cliente e a tabela propriedade, como referencio o código do cliente na propriedade ?

Obrigado.

  • Membro VIP
Postado

Para gerar um código automático você usa um generator em conjunto com um trigger.

E para relacionar as tabelas, coloque o código do cliente na tabela Propriedade e depois faça um relacionamento entre as tabelas

  • Moderador
Postado

ou você pode setar o campo id da sua tabela como auto increment no momento da criaçao dela.

e para fazer os relacionamentos tem de haver um indice na tabela que recebe o valor da id de sua tabela.

por exemplo se sua tabela propriedade recebe a id do cliente, é na tabela propriedade que você adiciona um indice do tipo INDEX para receber a id do cliente.

e depois você faz o relacionamento 1:N onde, cliente.idCliente que é uma chave primária, se relaciona com propriedade.idCliente que é uma chave estrangeira.

veja uma ilustraçao do relacionamento :

post-155230-13884960580288_thumb.png

  • Moderador
Postado

cli_id integer(3) not null primary key auto_increment

se eu nao me engano

tente auto_increment , autoincrement ou auto increment

é um dos 3.. agora nao to lembrando porque sempre faço isso no phpmyadmin direto. ou pelo workbench

  • Moderador
Postado

hmm então porque nao passa a usar uma base de dados com suporte a auto incremento de linhas? nao vejo motivos pra complicar com uma simples coisa...

tente usar o mysql, se nao for do seu agrado.. tente usar o postgree..

detalhe: você pode salvar suas tabelas ou se você ja tiver o script dela.. é só importar no mysql ou postgree

abraço

  • Membro VIP
Postado

Não precisa mudar de banco, usar generator e trigger para simular um campo auto-incremento é bem simples:

CREATE GENERATOR nome_gerador;
SET TERM ;
CREATE TRIGGER nome_trigger FOR nome_tabela
ACTIVE BEFORE INSERT
AS
BEGIN
IF (NEW.nome_campo_id IS NULL) THEN
NEW.nome_campo_id = GEN_ID(nome_trigger, 1);
END ^
SET TERM ;^

  • Moderador
Postado

estas triggers também podem ser geradas no mysql?

onde exatamente eu armazenaria uma function, procedure ou trigger no mysql?

Arquivado

Este tópico foi arquivado e está fechado para 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!