我知道可能有一种简单的方法可以做到这一点,但我似乎无法记住这一点。
基本上,我有一个包含2个字段的表,ID1和ID2。我想找到id2 = 1的所有字段,并将另一条记录插入到具有该id1和不同id2的表中。
因此,选择我想要新记录的所有字段的查询是:
select id1 from mytable where id2 = 1
然后对于我要插入的每一个:
insert into mytable(id1, id2) values([this id1], 6)
答案 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)
并且无法弄清楚如何重新安排它)