Как вставить несколько строк с подзапросом в качестве одного значения? - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь вставить несколько строк в таблицу, где значение одного столбца взято из другого запроса.Однако я получил следующую ошибку

более одной строки, возвращенной подзапросом, используемым как выражение

Как мне это сделать?

INSERT INTO 
   accounts_account_preferences (account_id, preference_id) 
VALUES 
   ((SELECT account_id 
     FROM accounts_account_preferences 
     WHERE preference_id = 1), 2);

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Использование INSERT ... SELECT ... без VALUES:

INSERT INTO accounts_account_preferences (account_id, preference_id) 
SELECT account_id, 2 
FROM accounts_account_preferences 
WHERE preference_id = 1
0 голосов
/ 05 декабря 2018

Ваш внутренний запрос должен возвращать 1 запись на внешнюю строку.Если он возвращает более одной записи, он не будет работать.

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