Mysql从两个表中复制两列

时间:2012-02-27 19:12:52

标签: mysql

我想将数据从'table1'中的两列复制到另一个表'table2',该表是空的并且有两列。

insert into users_role_map (email,id) select (email,roleId) from usert ;

当我尝试这样做时,我收到错误

Operand should contain 1 column(s)

当我尝试用一​​个列做同样的事情时,我能够复制整个列数据,但不能同时复制两列。可以任何人帮助我并指导我在哪里出错。

1 个答案:

答案 0 :(得分:1)

只需从()语句中删除SELECT即可。正在对它们进行解析,就好像你要对像(id * 9)这样的列进行操作一样,但MySQL则期望()中只有一列作为操作数。在任何情况下,它都是查询解析器的完全误解,你应该没有()

INSERT INTO users_role_map (email, id)
   SELECT  email, roleId  FROM usert ;