我有表 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/