Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何将子查询作为返回多行的列值插入?_Mysql_Sql - Fatal编程技术网

Mysql 如何将子查询作为返回多行的列值插入?

Mysql 如何将子查询作为返回多行的列值插入?,mysql,sql,Mysql,Sql,我需要使用子查询作为一列值,使用静态值作为第二列值,将多个元组插入表中。 我该怎么做呢? 我的SQL知识不是很广博,所以我想知道你们能否帮我澄清一下 这是一个无效的查询,显示了我试图实现的目标 INSERT INTO deleted_messages (message_id, account_id) VALUES (( SELECT message_id FROM messages WHERE conversation_id = 23 ), 42); 子查询返回一个具有多个“message_

我需要使用子查询作为一列值,使用静态值作为第二列值,将多个元组插入表中。 我该怎么做呢?

我的SQL知识不是很广博,所以我想知道你们能否帮我澄清一下

这是一个无效的查询,显示了我试图实现的目标

INSERT INTO deleted_messages (message_id, account_id) VALUES ((
SELECT message_id FROM messages 
WHERE conversation_id = 23
), 42);
子查询返回一个具有多个“message_id”值的表(这正是我想要的)

我想要的结果是:

Table: deleted_messages
id | message_id | account_id
-------------------------
 1 | 25         | 42
 2 | 36         | 42
 3 | 94         | 42
如果我需要澄清,请告诉我。
提前谢谢

只需使用
insert。选择
,无值:

INSERT INTO deleted_messages (message_id, account_id) 
    SELECT message_id, 42
    FROM messages 
    WHERE conversation_id = 23;

只需使用
insert。选择
,无值:

INSERT INTO deleted_messages (message_id, account_id) 
    SELECT message_id, 42
    FROM messages 
    WHERE conversation_id = 23;

您还需要从子查询中选择静态值,如下所示:

INSERT INTO deleted_messages (message_id, account_id) 
SELECT message_id, 42 FROM messages 
WHERE conversation_id = 23;

您还需要从子查询中选择静态值,如下所示:

INSERT INTO deleted_messages (message_id, account_id) 
SELECT message_id, 42 FROM messages 
WHERE conversation_id = 23;

非常感谢。这正是我需要的。我会继续复习SQL插件的,哈哈。如果可以的话,我会接受这个答案。谢谢!这正是我需要的。我会继续复习SQL插件的,哈哈。如果可能的话,我会接受这个答案