2012-02-27 4 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

Спасибо, Майкл. –

+0

@luckysing_noobster Добро пожаловать, и добро пожаловать в Stack Overflow. Если вы удовлетворены ответом, нажмите галочку рядом с ним, чтобы принять ответ. –

Смежные вопросы