Задать вопрос
@hrvasiliy

Как вставить несколько полей?

Пытаюсь составить запрос, который будет вставлять в таблицу несколько разных значений, но ИД необходимо получать из другой таблицы. Если делать это с одним селектом, то выглядит примерно так и работает:

INSERT INTO `table1` (id, col2, col3)
SELECT id, 'some', 'some' FROM table2 WHERE col4 = 'somevalue' AND col5 = 'somevalue2'


А если делаю так:

INSERT INTO `table1` (id, col2, col3)
SELECT id, 'some', 'some' FROM table2 WHERE col4 = 'somevalue' AND col5 = 'somevalue2', 
SELECT id, 'some', 'some' FROM table2 WHERE col4 = 'somevalue3' AND col5 ='somevalue4'


Ничего не выходит. Не могу понять, как составить правильно данный тип запроса.
  • Вопрос задан
  • 253 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@dmitryKovalskiy
программист средней руки
Вашу задачу нужно разбить на 2 более простых.
1) сформировать select для вставки в вашу таблицу.
2) сделать insert с помощью полученной выборки.
Не усложняйте себе жизнь. Подумайте по каким признакам можно получить необходимую вам выборку. Если там совсем совсем случайный набор бессистемных данных - тогда делайте пару тысяч раз insert.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы