在一个表中从其他两个表插入多行

时间:2019-01-25 20:09:48

标签: mysql bulkinsert

我需要使用一个查询在表中插入多行(而不是使用循环,这是可能的,但是浪费了服务器资源。)

我有三个表:

-Members
MemberID (int)

-Items
ItemID (int)

-MemberInventory
MemberID (int)
ItemID (int)

添加新成员时,需要选择该新成员ID和所有itemID,并将它们插入MemberInv表中。

添加新项目时,需要选择该新的itemID和所有memberID,并将它们插入MemberInv表中。

1 个答案:

答案 0 :(得分:0)

您可以尝试将INSERT SELECT用于max(memberID)和CROSS JOIN项目

  insert into  MemberInventory ( MemberID, ItemID )
  select t.max_id , Items.ItemId
  from (
    select  max(Members.memberId) max_id
    from members
  ) t 
 cross join  Items