MySql - 使用连接子查询插入多行?

Posted

技术标签:

【中文标题】MySql - 使用连接子查询插入多行?【英文标题】:MySql - Inserting multiple rows with a joined subquery? 【发布时间】:2011-03-29 17:36:25 【问题描述】:

此查询将返回代表论坛主题的项目 ID 列表:

SELECT id FROM `proj_objects` WHERE  type='fthread';

此查询将订阅用户(用户表中的 ID 为“37”)到 ID 为“122”的论坛线程:

INSERT INTO `subscrips` VALUES ( 37, 122 ) ;

我想插入多行,将用户 37 订阅到类型为 fthread 的所有项目对象。我可以在单个查询中执行此操作吗?

【问题讨论】:

【参考方案1】:

用途:

INSERT INTO `subscrips` 
SELECT 37, id 
  FROM `proj_objects` 
 WHERE type = 'fthread'

【讨论】:

谢谢,非常适合返回一些 id 的查询,我想根据以前的 id 在另一个表中插入一些行。

以上是关于MySql - 使用连接子查询插入多行?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用子查询的多行返回值插入表中?

零基础带你学习MySQL—单行子查询和多行子查询(二十二)

MySQL函数,复合查询和内外连接

mysql常用基础操作语法~~子查询命令行模式

MySQL----复合查询 外连接

MySQL----复合查询 外连接