如何在sql中的多对多表中插入多行?

时间:2015-09-02 16:32:18

标签: sql many-to-many sql-insert

我有一个表dbo.dev,一个表dbo.req和一个第三个表dbo.dev_has_req。 我在dbo.dev中创建了547个条目,并在dbo.req中创建了一个新条目。

dbo.dev中的所有新547条目在dbo.req中应具有相同的req。

这意味着在表dbo.dev_has_req中,只包含2列“idDev”和“idReq”,对于547个不同的dev id,应该是547与唯一新req相同的id。

如何插入所有条目?

1 个答案:

答案 0 :(得分:3)

使用insert into - select

insert into dbo.dev_has_req(idDev,idReq)
select id, 1 /* your request id */
from   dbo.dev

或者也可以使用正确的连接synax,如:

insert into dbo.dev_has_req(idDev,idReq)
select a.id, b.id
from   dbo.dev a cross join dbo.req b