Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola,
preciso inserir milhares de registros em uma tabela do mysql de acordo com outra.
Eu imaginei a query abaixo, mas ele retorna dizendo "Subquery returns more than 1 row"
insert into email_subscribers_data (subscriberid, fieldid, data) values ((SELECT subscriberid from email_list_subscribers where listid=48), 4, 7890943)
A ideia era inserir na tabela email_subscribers_data X novos registros. Esse X seria o numero de registros retornados da consulta SELECT subscriberid from email_list_subscribers where listid=48.
Então, por exemplo, caso a consulta retorne 5 registros, assim:
subscriberid = 1;
subscriberid = 2;
subscriberid = 3;
subscriberid =4;
subscriberid =5;
ele irá executar 5 INSERTS, na pratica, assim:
insert into email_subscribers_data (subscriberid, fieldid, data) values (1, 4, 7890943)
insert into email_subscribers_data (subscriberid, fieldid, data) values (2, 4, 7890943)
insert into email_subscribers_data (subscriberid, fieldid, data) values (3, 4, 7890943)
insert into email_subscribers_data (subscriberid, fieldid, data) values (4, 4, 7890943)
insert into email_subscribers_data (subscriberid, fieldid, data) values (5, 4, 7890943)
Note que o segundo e o terceiro campo são fixos. Eles não mudam.
O grande problema é que preciso inserir 500 mil linhas. Essa operacao so precisa ser executa 1 vez, so que 500 mil vezes .
Isso é possivel ?
Obrigado a quem puder ajudar!!!
Carregando comentários...