MySQL如何使用返回多行的SELECT子查询INSERT INTO表?
INSERT INTO Results
(
People,
names,
)
VALUES
(
(
SELECT d.id
FROM Names f
JOIN People d ON d.id = f.id
),
(
"Henry"
),
);
我 WANT 用这个子查询返回的所有结果填充新表 . 如何在不获取 ERROR 1242 (21000): Subquery returns more than 1 row 的情况下执行此操作
7 回答
在MySql中,可以插入来自字符串的多个值,如下所示,避免重复 . 谢谢 .
将静态字符串
Henry
与SELECT
查询相结合 .以下是我发现效果很好的内容 . 它有点长,但很多时候需要改组额外的数据 .
使用值在table2中向table1插入多行 . 例子:
您可以插入硬编码值以使用重复数据插入多行:
请注意:“值”,“1900-01-01”,“9999-12-31”将在插入的所有行中重复 .
此错误(子查询返回多于1行)的原因是您使用括号 () . 仔细看看最好的答案 . 它不包含子查询周围的parethesis
插入ec_element(parentid,name)从ec_element中选择elementid,'STARTUP',其中name ='BG';
insert语句从已满足条件的表和标签字符串中获取elementid值 .