MySQL使用select子查询插入一个值

mik*_*ike 6 mysql

我有一个MySQL插入查询,需要从另一个表中提取一个数据字段,我想知道是否可以使用select子查询完成

INSERT INTO resources
(
     client_account_id,
     date_time,
     resource_name,
     resource_description_id,
)
VALUES
(
      {0},
      '{1}',
      '{2}',
      {3},
 )
Run Code Online (Sandbox Code Playgroud)

我需要一个select查询来从另一个表中获取resource_description_id

SELECT resource_description_id 
FROM resource_descriptions 
WHERE resource_description = '{0}'
Run Code Online (Sandbox Code Playgroud)

我已经看到了复制整个表的示例,但是我不确定当另一个表只需要一个字段而其他字段来自表单时如何才能完成.

谢谢!

Jim*_*Jim 9

您的子查询可以只选择它需要的值.就像是:

INSERT INTO resources
(
     client_account_id,
     date_time,
     resource_name,
     resource_description_id,
)
SELECT {0}, '{1}','{2}', resource_description_id 
FROM resource_descriptions 
WHERE resource_description = '{3}'
Run Code Online (Sandbox Code Playgroud)