Загрузка записей базы данных с помощью SELECT ... INSERT - PullRequest
1 голос
/ 23 января 2012

Для следующего утверждения:

INSERT INTO main_app_provider (provider) 
VALUES ((SELECT distinct(provider) FROM raw_financials));

Я получаю "subquery returns more than one row".

Кажется, вышеописанное пытается сделать вставку в одну строку. Как бы я загрузил это в таблицу для нескольких строк (т.е. каждый provider вставляется в новую строку)?

Ответы [ 3 ]

5 голосов
/ 23 января 2012

Удалите ключевое слово VALUES.Скобки вокруг SELECT также не являются строго необходимыми.

INSERT INTO main_app_provider (provider) SELECT distinct provider FROM raw_financials;

См. Ссылку на синтаксис MySQL INSERT для получения полной информации.

1 голос
/ 23 января 2012

Правильный синтаксис без values:

INSERT INTO main_app_provider (provider) 
  SELECT distinct(provider) 
  FROM raw_financials
0 голосов
/ 23 января 2012

Попробуйте это.

INSERT INTO main_app_provider (провайдер) ВЫБЕРИТЕ отдельно (провайдера) в качестве провайдера ОТ raw_financials;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...