如何从select语句中执行MySQL Multi-insert

时间:2013-05-13 00:12:52

标签: mysql stored-procedures insert

以下是我的问题的基础知识。我从两个表的连接中选择了一个结果集。此结果集是一系列id值和电子邮件地址。现在对于此结果集中的每一行,我想在名为timestamps的第三个表中插入一个新行,该表具有NOW()的时间戳和结果集中的id值,但不是电子邮件地址。我知道我可以通过在存储过程中运行循环来实现这一点。另外我想我不能简单地运行insert into语句,因为我插入timestamps的数据并非完全来自我的结果集,我的结果集数据只决定必须的行数插入和ids,而我需要返回这些电子邮件地址进行其他处理。我正在寻找一种聪明的方法来避免使用循环。那可能吗?我可以生成动态插入语句吗?感谢任何给予时间或帮助的人。

1 个答案:

答案 0 :(得分:1)

假设:

table1 with columns:id

table2 with columns:id,email

table1和table2与列id

链接

列的时间戳:id,time

然后查询将是:

插入时间戳(id,time)从table1.id = table2.id上的table1内连接table2中选择table1.id,now();