从现有表插入?

时间:2011-12-17 21:00:02

标签: sql

我知道可能有一种简单的方法可以做到这一点,但我似乎无法记住这一点。

基本上,我有一个包含2个字段的表,ID1和ID2。我想找到id2 = 1的所有字段,并将另一条记录插入到具有该id1和不同id2的表中。

因此,选择我想要新记录的所有字段的查询是:

select id1 from mytable where id2 = 1

然后对于我要插入的每一个:

insert into mytable(id1, id2) values([this id1], 6)

3 个答案:

答案 0 :(得分:3)

你基本上只需要以稍微不同的方式组合你已经写过的两个查询:

INSERT INTO mytable (id1, id2) 
SELECT id1, 6 FROM mytable WHERE id2 = 1

答案 1 :(得分:1)

这是否适用于您的目的?

INSERT INTO mytable(id1, id2)
SELECT id, 6
FROM mytable
WHERE id2 = 1

答案 2 :(得分:0)

好的,我想我明白了。只是语法错了。 (会删除问题,但不能)

insert into mytable (id1, id2)
select id1, 6 from mytable where id2= 1

(我正在努力学习这样的语法:

insert into mytable (id1, id2) 
values((SELECT id1 FROM mytable WHERE id2 = 1), 6)

并且无法弄清楚如何重新安排它)