0 votos positivos 0 votos negativos
846 visitas
em Bancos de Dados (livres) por monitor (11,3K pontos)

Bom dia a todos!

Eu preciso fazer o insert em duas (02) tabelas ao mesmo tempo do MySQL.
Pois, tenho a seguinte situação:

1) O fornecedor é cadastrado no sistema (PHP);
2) O ID dele é capturado com uma função do (PHP);
3) E esse ID precisa se inserido na tabela tblGrpFornec e tblVotacao;

Gostaria de saber se existe uma forma de colocar duas (02) tabelas ao mesmo tempo no mesmo insert?

MariaDB 10.3.25

Desde já agradeço a atenção

por curioso (1,0K pontos)
0 0
Boa tarde Diego.

Lembrei que você consegue fazer isso que perguntou com o uso de trigger, pode ser até uma trigger na tabela do seu item 1 por exemplo. Desse modo, após um insert nessa tabela, a trigger é disparada e dentro dela você faz o insert que precisa nas outras duas tabelas.

IMPORTANTE: Tome cuidado ao trabalhar com trigger, pois se ela gerar algum erro, a transação toda sofrerá rollback e nem o registro na tabela do item 1 irá ocorrer.

Veja alguns exemplos na documentação do MySQL:
https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html

2 Respostas

1 voto positivo 0 votos negativos
por colaborador (5,5K pontos)

Sinceramente, eu não conheço essa possibilidade. O que é possível, é ter vários valores sendo vinculados a uma tabela

Exemplo:

INSERT INTO SUATABELA
( ID, NOME )
VALUES
( 1, 'JRS' ),
( 2, 'SLASH' ),
( 3, 'JIMI HENDRIX');

Ou você fazer cada insert separadamente. Como você já tem o valor do ID que precisa gravar, acredito que seria tranquilo.

1 voto positivo 0 votos negativos
por curioso (1,0K pontos)

Acredito que o você você precisa é fazer os inserts dentro de uma mesma transação.

Após os dados serem inseridos nas duas tabelas, ai você realiza o commit.

Pesquise sobre transações na documentação do MariaDB.

Seja bem-vindo(a) à comunidade debxp, onde você pode fazer perguntas e receber respostas de outros membros.
Atenção pessoal, esta plataforma não é um fórum, embora se pareça muito com um. Neste tipo de ferramenta, o objetivo é fazer e responder perguntas que possam resultar em material de consulta para outras pessoas que tenham as mesmas dúvidas e dificuldades. Portanto, não há sentido em utilizarmos o Ask para socialização, para emitir opiniões pessoais ou para perguntas do tipo "quem usa isso ou aquilo". Espero que compreendam o nosso propósito. :-)
...