sql—如何在多对多表中一次插入多行并使用一个固定值?

lsmd5eda  于 2021-07-29  发布在  Java
关注(0)|答案(2)|浏览(466)

我有一个多对多表,有id1和id2。我想一次插入许多行,其中id1总是相同的值,但是我要插入许多id2值。
我在想,如果可以用这样的东西:

insert into MyTable (ID1, ID2) VALUES(1, select ID from AnotherTable where ID IN(1, 2, 3));

其中select可以是表或变量中的行。
谢谢。

s3fp2yjn

s3fp2yjn1#

使用 insert . . . select :

insert into MyTable (ID1, ID2) 
    select 1, ID
    from AnotherTable
    where ID in (1, 2, 3);

这将从中插入所有匹配的行 AnotherTable ,以及第一列的常量值。

yvt65v4c

yvt65v4c2#

请使用以下语法从另一个表插入,

insert into MyTable (ID1, ID2) (select 1, ID from AnotherTable where ID IN(1, 2, 3));

相关问题