Inserir vários ids de uma tabela em um INSERT em outra tabela

4 respostas Resolvido
mysql
J

Seguinte, eu quero inserir em uma tabela N:M todos os ID’S da tabela 1 em um único insert, eu estou tentando isso mas informa que a subquery retorma mais de uma linha (que é o que deveria acontecer) mas isso não deveria ser um problema para mim já que eu quero inserir todos os id’s de uma tabela em um insert, aqui vai minha sintaxe:
INSERT INTO sessao_has_paciente (idsessao_has_paciente, sessao_idsessao, paciente_idpaciente) VALUES (DEFAULT, NEW.idsessao, (select idpaciente from paciente where dia_iddia = ‘2’));

4 Respostas

P
INSERT INTO sessao_has_paciente (paciente_idpaciente) 
select idpaciente from paciente where dia_iddia = '2';

Será algo semelhante a isto, não sei se o mysql já preenche assim os campos default.

J

Realmente assim funciona, só que preciso usar também o new.idsessao, que deveria funcionar mas o MySQL diz que o campo não existe

J

Ele já preenche os campos default dessa forma sim, realmente só falta encaixar o new.idsessao nesse insert que o negócio tá feito

J
Solucao aceita

Resolvi, era só colocar o campo “NEW.idsessao” junto com o SELECT idpaciente separando por vírgula não depois do “from paciente” como eu estava fazendo

Criado 22 de fevereiro de 2021
Ultima resposta 23 de fev. de 2021
Respostas 4
Participantes 2