基本上,我有一些看起来像这样的代码:
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到无限值之间的任何值
我需要做的是在table1中插入多行,使用var1作为idForeignkey2,并使用select语句中的值作为idForeignkey1。例如,如果select语句返回1,2,3,4和var1 = 6,则应将其插入表中:
idForeignkey1 idForeignkey2
1 6
2 6
3 6
4 6
答案 0 :(得分:2)
你可以尝试这样的事情。一个声明应该这样做。
INSERT INTO table1
SELECT idForeignkey1, 6
FROM table1
WHERE idForeignkey2 = inidForeignkey2