2012-02-27 94 views
1

我想將'table1'中兩列的數據複製到另一個表'table2',它是空的並且有兩列。Mysql複製兩個表中的兩列

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

當我試圖做到這一點我得到錯誤

Operand should contain 1 column(s) 

當我試圖做同樣的事情只有一列,我能夠整列數據拷貝而不是兩個列可以幫助我,並指導我在哪裏出錯。

回答

1

只需從SELECT聲明中刪除()即可。他們正在被解析,就好像您要對像(id * 9)這樣的列執行操作,但是MySQL然後期望()中只有一列作爲操作數。在任何情況下,這都是查詢解析器的錯誤解釋,您應該沒有()

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

謝謝邁克爾。 – 2012-02-27 19:16:48

+0

@luckysing_noobster不客氣,歡迎來到Stack Overflow。如果您對答案滿意,請點擊旁邊的複選標記以接受答案。 – 2012-02-27 19:18:32