Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 是否从现有表中插入?_Sql - Fatal编程技术网

Sql 是否从现有表中插入?

Sql 是否从现有表中插入?,sql,Sql,我知道可能有一个简单的方法可以做到这一点,但我似乎不记得怎么做了 基本上,我有一个包含两个字段的表,ID1和ID2。我想找到id2=1的所有字段,并在表中插入另一条id1和不同id2的记录 因此,选择我想要新记录的所有字段的查询是: select id1 from mytable where id2 = 1 然后,对于我想插入的每一项: insert into mytable(id1, id2) values([this id1], 6) 基本上,您只需以稍微不同的方式组合已编写的两个查询:

我知道可能有一个简单的方法可以做到这一点,但我似乎不记得怎么做了

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

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

select id1 from mytable where id2 = 1
然后,对于我想插入的每一项:

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

基本上,您只需以稍微不同的方式组合已编写的两个查询:

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

这对你有用吗

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

好的,我想我明白了。只是语法错了。(将删除该问题,但无法删除)

(我一直在努力解决这样的语法问题:

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

而且不知道如何重新排列它)

准确地说。但这和我在你几分钟前发布的答案是一样的——所以你应该接受其中一个,把问题留在这里让其他人去发现。同意,只要标记@Cory的答案正确,因为他实际上在我之前回答,以防万一将来有人需要这个,我想我会接受这个,因为你比我们两个都快了一分钟左右:)谢谢你及时回复。(将在允许的情况下尽快接受)
insert into mytable (id1, id2) 
values((SELECT id1 FROM mytable WHERE id2 = 1), 6)