我正在使用 MySQL版本5.6 。
我有一个表event
,其中包含两个ID和一个日期,以及一个包含列student
的表id
。我希望在名称匹配(WHERE firstname =.., AND lastname=..,)
时插入两个ID。但是,我不太清楚如何从一个插入命令中的两行中取id
。有人可以帮我吗?
谢谢, 保罗
答案 0 :(得分:9)
如果您要插入表格,则需要使用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;
它将返回名称匹配的所有学生对(但不具有相同的ID)。