insert-into - 插入多个选择并给出 ERROR 1242 : Subquery returns more than 1 row

标签 insert-into mysql-error-1242

我有表 foo1,其中包含 UserID、TimeStamp 列; foo2 包含 userID、Level 列,表 foo3 包含 userID、Timestamp 列。

我想将表 foo2 中存在 UserID 的 foo3 中的所有行插入到 foo1 中。

我收到错误 1242:子查询返回超过 1 行,内容如下

INSERT into foo1 (UserID,TimeStamp)
SELECT  
(SELECT UserID from foo2 as UserID),

(SELECT foo3.TimeStamp
from foo3
inner join foo2
ON foo3.UserID=foo2.UserID) as TimeStamp

最佳答案

如果您想将 foo3 中 UserID 存在于表 foo2 中的所有行插入到 foo1 中,那么您应该执行以下操作:

INSERT into foo1 (UserID,TimeStamp)
SELECT foo3.UserID,foo3.TimeStamp
from foo3
inner join foo2
ON foo3.UserID=foo2.UserID

关于insert-into - 插入多个选择并给出 ERROR 1242 : Subquery returns more than 1 row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28449482/

相关文章:

mysql - INSERT INTO 其中某些数据依赖于选择

mysql - 插入新的排名列错误

sql-server - 将多个CASE语句合并为一个并选择SELECT INTO临时表

mysql - 莫名其妙的内部查询

MySQL 更新有两个子查询

MySQL INSERT 与 SELECT UNION 给出语法错误

php - 错误插入

php - sql 活出另一个表中的项目

mysql - 如何在 Mysql 中解决此问题(#1242 - 子查询返回超过 1 行)?

mysql - 通过从另一个表 MySQL 查询中选择数据来更新表