我想将数据从'table1'中的两列复制到另一个表'table2',该表是空的并且有两列。
insert into users_role_map (email,id) select (email,roleId) from usert ;
当我尝试这样做时,我收到错误
Operand should contain 1 column(s)
当我尝试用一个列做同样的事情时,我能够复制整个列数据,但不能同时复制两列。可以任何人帮助我并指导我在哪里出错。
答案 0 :(得分:1)
只需从()
语句中删除SELECT
即可。正在对它们进行解析,就好像你要对像(id * 9)
这样的列进行操作一样,但MySQL则期望()
中只有一列作为操作数。在任何情况下,它都是查询解析器的完全误解,你应该没有()
。
INSERT INTO users_role_map (email, id)
SELECT email, roleId FROM usert ;