mysql从另一个表的多行插入信息

ver*_*ese 4 mysql sql

我使用的是MySQL 5.6版.我有一个表带有event两个ID和一个日期,以及一个student包含列的表id.我希望在名称匹配时插入两个ID (WHERE firstname =.., AND lastname=..,).但是,我不太清楚如何id在一个insert命令中从两行中获取.有人能帮帮我吗?

谢谢,保罗

Gor*_*off 12

如果您尝试插入表格,那么您想要使用insert.要从另一个表或查询中获取数据,您需要该insert . . . select表单.

从你说的,这看起来像你想要的东西:

insert into event(id1, id2, date)
    select s1.id, s2.id, now()
    from student s1 cross join
         student s2
    where s1.id <> s2.id and
          s1.firstname = firstname and s1.lastname = lastname and
          s2.firstname = firstname and s2.lastname = lastname;
Run Code Online (Sandbox Code Playgroud)

它将返回名称匹配的所有学生对(但不具有相同的id).