gpt4 book ai didi

mysql - 使用 SELECT 和 JOIN 语句将多个数据插入表中

转载 作者:行者123 更新时间:2023-11-29 14:31:46 28 4
gpt4 key购买 nike

我想将数据插入表中,其中一列由选择查询填充。这是我的 SQL 语句:

INSERT INTO books ( gid, type, membernumber,  changedate, user)
VALUES( '2b4493e8-cae8-4624-8177-fcc96553c5be',
2,
(SELECT member FROM mem m JOIN group g ON m.uid = g.sgroup),
TIMESTAMP '2017-01-03 00:00:00.000',
'mark'
);

我想要实现的是对于每个插入,membernumber 将从基于 JOINmem 表中获取group 表。

当我执行这条语句时,出现错误:

More than one row returned by a subquery used as an expression

例如,如果连接将产生 20 行,则将插入 20 条记录,每个 member 值替换 20 行插入中的 membernumber

更新

我还有另一个查询,其中两列必须用 SELECT-JOIN 语句替换。 @Tim 给了我一个专栏的例子。我想要一个包含两个 SELECT-JOIN 语句的两列示例。

最佳答案

您可以将其改写为 INSERT INTO ... SELECT:

INSERT INTO books (gid, type, membernumber, changedate, user)
SELECT
'2b4493e8-cae8-4624-8177-fcc96553c5be',
2,
member,
'2017-01-03 00:00:00.000',
'mark'
FROM mem m
INNER JOIN `group` g
ON m.uid = g.sgroup;

这应该可以修复您的语法错误,但是现在您必须确定在没有 WHERE 子句的情况下该插入是否有意义。您几乎对每个成员的每个字段都进行了硬编码。

关于mysql - 使用 SELECT 和 JOIN 语句将多个数据插入表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50695066/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com