Mysql 子查询返回超过1行

Mysql 子查询返回超过1行,mysql,mysql-workbench,Mysql,Mysql Workbench,下面是我的mysql查询: CREATE TEMPORARY TABLE temp_user_Details ( user_id INT(10) NOT NULL, user_name NVARCHAR(100) NOT NULL, user_email NVARCHAR(100) NOT NULL ); INSERT INTO temp_user_Details (user_id, user_name, user_email) (SELECT user_id

下面是我的mysql查询:

CREATE TEMPORARY TABLE temp_user_Details (
    user_id INT(10) NOT NULL,
    user_name NVARCHAR(100) NOT NULL,
    user_email NVARCHAR(100) NOT NULL
);


INSERT INTO temp_user_Details (user_id, user_name, user_email)
    (SELECT user_id, CONCAT(first_name," ",last_name) AS UserName, email
        FROM users WHERE reportingManager = "abcd");
我得到以下错误:

错误代码:1242

子查询返回多行


我无法理解错误是什么,因为
users
user\u id
列是主键和自动递增的。

这很奇怪。我猜这是由括号引起的?你试过像这样把它们去掉吗?此外,别名在那里也没有用

INSERT INTO temp_user_Details (user_id,user_name,user_email)
 SELECT user_id,CONCAT(first_name,' ',last_name),email
FROM users WHERE reportingManager = 'abcd';

真奇怪。我猜这是由括号引起的?你试过像这样把它们去掉吗?此外,别名在那里也没有用

INSERT INTO temp_user_Details (user_id,user_name,user_email)
 SELECT user_id,CONCAT(first_name,' ',last_name),email
FROM users WHERE reportingManager = 'abcd';

是的,我也试过,运气不好。我还尝试重命名临时表中的列名。但是结果是一样的。@RahulMunjal这可能是瞎猜,但您确定这两个查询是您正在运行的唯一查询,并且错误不在您两个查询之后的另一个查询中吗?我确定@Ruslan。我的存储过程中只存在这两个查询。没有其他内容。@RahulMunjal
显示变量名称所在的变量('innodb\u版本','version\u注释')
显示?
innodb\u版本:5.6.26
version\u注释:谷歌
Ya我也试过,运气不好。我还尝试重命名临时表中的列名。但是结果是一样的。@RahulMunjal这可能是瞎猜,但您确定这两个查询是您正在运行的唯一查询,并且错误不在您两个查询之后的另一个查询中吗?我确定@Ruslan。我的存储过程中只存在这两个查询。没有其他内容。@RahulMunjal
显示变量名称所在的变量('innodb\u版本','version\u注释')
显示?
innodb\u版本:5.6.26
version\u comment:google
只需取出
insert语句中不需要它,mysql无法处理它。请检查此项:。您可以一次插入多个值和列。@KostasMitsarakis我使用的语法与您共享的堆栈中提到的相同。但我面临着问题,真的吗?什么问题?我已经对它进行了测试,效果很好。你有任何触发器吗?只需取出
你不需要在insert语句中使用它,mysql无法处理它。同时检查以下内容:。您可以一次插入多个值和列。@KostasMitsarakis我使用的语法与您共享的堆栈中提到的相同。但我面临着问题,真的吗?什么问题?我已经测试过了,效果很好。你有触发器吗?