基本上,我有一些如下所示的代码:
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
最佳答案
你可以尝试这样的事情。一条语句就可以做到这一点。
INSERT INTO table1
SELECT idForeignkey1, 6
FROM table1
WHERE idForeignkey2 = inidForeignkey2
关于mysql - SQL:将多行插入具有静态值的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6822810/