【问题标题】:How to do MySQL Multi-insert from select statement如何从 select 语句中进行 MySQL 多插入
【发布时间】:2013-05-13 00:12:51
【问题描述】:

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

【问题讨论】:

  • 请举例说明您的表格。请举例说明您的具体要求。
  • @krishnasahoo 哇哦。我不记得。我会复习我的笔记和问题,并尝试重建我当时的工作,但这仍然是一个未解决的问题,所以感谢您的时间。

标签: mysql stored-procedures insert


【解决方案1】:

假设:

table1 的列:id

table2 列:id、email

table1 和 table2 与列 id 链接

带有列的时间戳:id、时间

那么查询将是:

insert into timestamps(id,time) select table1.id,now() from table1 inner join table2 on table1.id = table2.id;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    • 2022-11-20
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    相关资源
    最近更新 更多