E possivel criar um formulário com dois bancos de dados usando o mesmo id auto increment

14 respostas Resolvido
phpmysqljavascript
Harley_Rodrigues

Bom noite comunidade, me pergunto se e possivel criar um formulario que faz um insert em duas tabelas usando o mesmo Id auto increment da primeira tabela, exemplo:

1° tabela Existem o campos ID_Especie Nome_Especie e Origem_Especie
2° tabela iria usar o mesmo insert da primeira pegando somente ID_Especie contendo nela os seguintes campos ID_Especie, Caracteristicas1_Especie, Caracteristicas2_Especie Caracteristicas3_Especie.

obrigado, se não entenderem a explicam por favo perguntem!

14 Respostas

Lucas_Camara

Pelo que entendi, vc modelou uma especialização de especie para caracteristica especie, fazendo uma relação 1:1 (mesma PK).

Acho que o mysql já consegue resolver o mesmo ID nesse caso. Deu algum erro qdo vc tentou inserir nessas tabelas?

Outra pergunta: na 2a tabela, o ID_Especie é FK do ID_Especie da 1a tabela?

Harley_Rodrigues

sim quero que a primeira tabela e a segunta tenha a mesma PK, ja respondendo a 2° pergunta.

Eu não cheguei a densenvolver, queria saber se e possivel, pois não entendo muito sobre o assunto.

Lucas_Camara

Se vc modelar as tabelas como especialização, deve funcionar tranquilamente.

Harley_Rodrigues

Pode me da um exemplo por favo?

Lucas_Camara

Veja a imagem:

Essa é uma especialização onde o ID da monografias e do periodicos é o mesmo de publicacoes. Essa modelagem cria uma relação de herança, onde monografia e periodicos são publicações (relação 1:1 onde a PK é FK da outra).

Vc tem dificuldade em criar as tabelas dessa maneira?

Harley_Rodrigues

Sim, pois não tenho conhecimento, consigo criar somente tabelas simples :slight_smile: :frowning:

Lucas_Camara
Solucao aceita

Para criar uma especialização, vc tem que criar a PK como sendo FK para outra tabela. Veja:

CREATE TABLE TabelaA (
    id int PRIMARY KEY AUTO_INCREMENT,
    PRIMARY KEY (id)
);

CREATE TABLE TabelaB (
    id int PRIMARY KEY REFERENCES TabelaA (id)
);

Tente criar essas tabelas e veja o DER como ficou.

Harley_Rodrigues

Boa noite, entao elaborei aqui seguinto sua lógica, entao seria algo assim

image

Lucas_Camara

A tabela ENTREGA_01 é meio estranha. Pq tem o 01 no nome dela? Também é estranho a data da meta ser uma FK, assim como a SECRETARIA_NOME.

Mas a pergunta mais importante:

Qual a relação da tabela ENTREGA_01 com a tabela METAS? E o que vc está tentando modelar?

Harley_Rodrigues

Isso seria um campo onde seria feita um acompanhamento de entrega das metas. e entrega 01 e porque vou definir 3 tipos de entregas.

Lucas_Camara

Então, uma ou mais entregas possui uma meta? É isso?

Harley_Rodrigues

sim, cada entrega e relacionada a uma meta.

Lucas_Camara

Cara, a sua pergunta realmente confundiu muito o que tu queria fazer.

Se cada entrega possui uma meta, então não se trata de uma especialização. Simplesmente é um relacionamento 1:1 normal. Ou seja, uma entrega possui uma meta.

CREATE TABLE META (
    id int PRIMARY KEY AUTO_INCREMENT,
    PRIMARY KEY (id)
);

CREATE TABLE ENTREGA (
	id int PRIMARY KEY AUTO_INCREMENT,
    id_meta int FOREIGN KEY REFERENCES META (id)
);
Harley_Rodrigues

Obrigado, mas vamos continuar conversando…

Criado 24 de abril de 2021
Ultima resposta 26 de abr. de 2021
Respostas 14
Participantes 2