我在插入第三个表的过程中从2个不同的表中插入2个值时遇到问题。
第一个表是:
第二张表是:
第三张表是:
我想在将数据插入到第三张表的过程中author_name
从第一张表和category_name
第二张表中获取数据。
我得到了类似的东西,但是它不起作用。
INSERT INTO posts (post_category, post_author, post_title, post_content)
SELECT
category_name
FROM
categories
WHERE
category_name='python',
SELECT
author_name
FROM
authors
WHERE
author_name = 'm0jito',
'Lorem Ipsum',
'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ')
期待您的帮助。
除了@sagi的解决方案,您还应该可以在中使用Scalar子查询INSERT VALUES
:
INSERT INTO posts (post_category, post_author, post_title, post_content)
VALUES
(
(SELECT
category_name
FROM
categories
WHERE
category_name='python'),
(SELECT
author_name
FROM
authors
WHERE
author_name = 'm0jito'),
'Lorem Ipsum',
'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum '
)
category_name
无论author_name
是否唯一,这都将失败。
顺便说一句,您可能想返回类别/作者ID而不是名称,因为根本不需要当前的SELECT。但是我认为这只是一个例子。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句