SQL: вставка нескольких строк в таблицу со статическим значением - PullRequest
0 голосов
/ 26 июля 2011

В принципе, у меня есть код, который выглядит следующим образом:

while exists (select * from table1 where idForeignkey1 = inidForeignkey2) do

    set var1 = (select idForeignkey2 from table1 where idForeignkey1 = inidForeignkey2 limit 1);

    delete from table1 where idForeignkey2 = var1;

Пока все хорошо, просто маленький цикл foreach, который удаляет строки из таблицы. Проблема приходит после этого. У меня есть выбранное утверждение нравится это:

select idForeignkey1 from table1 where idForeignkey2 = inidForeignkey2

Может возвращать от 1 до бесконечных значений.

что мне нужно сделать, это вставить несколько строк в таблицу1, используя var1 в качестве idForeignkey2 и используя значения из этого оператора select в качестве idForeignkey1. Например, если оператор select вернул 1,2,3,4 и var1 = 6, он должен вставить это в таблицу:

idForeignkey1    idForeignkey2
     1                 6
     2                 6
     3                 6
     4                 6   

1 Ответ

2 голосов
/ 26 июля 2011

Вы можете попробовать что-то вроде этого. Одно заявление должно сделать это.

INSERT INTO table1
SELECT idForeignkey1, 6
FROM table1
WHERE idForeignkey2 = inidForeignkey2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...