mysql: запись в базу данных несколько записей по одному запросу

90
04 октября 2021, 02:50

Подскажите, можно ли с помощью SQL выполнить запись в базу (insert) несколько записей для каждой найденной записи,

Например:

insert into table2 (filed1, field2) values (XXXXX, table1.id) where select id from table1 where value > 10

под XXXXX я хотел бы сделать 2 записи с разными значениями, но с одинаковым table1

т.е. как-то хотелось бы соединить записи

insert into table2 (filed1, field2) values (1, table1.id) where select id from table1 where value > 10
insert into table2 (filed1, field2) values (2, table1.id) where select id from table1 where value > 10

в один запрос

возможно ли это сделать? если да, то можно ли усложнить и запись

insert into table2 (filed1, field2) values (2, table1.id) where select id from table1 where value > 10

выполнять только если выполняется условие для table1 на наличие определённых записей (например, что такого id не встречалось и т.п.)

Понятно, что я все легко могу разбить на несколько запросов, но интересует именно возможность пополнения таблицы одним запросом, а не несколькими

Answer 1

Так хочется?

insert into table2 (
  filed1,
  field2
) select
  1, id
from
  table1
where
  value > 10
union
select
  2, id
from
  table1
where
  value > 20
READ ALSO
Передача таблиц из MSSQL в MYSQL

Передача таблиц из MSSQL в MYSQL

В общем, на MS SQL есть прилинкованный MYSQL и я могу обращаться к нему через OPENQUERY, что бы получить небольшой кусок данных, с которым хочу что-то...

150
React css modules и путь

React css modules и путь

Помогите пожалуйста, мне выдает вот такую ошибку при подключении css modules:

83
Про scroll и его внешний вид

Про scroll и его внешний вид

Помогите, плиз, изменить классический вид вертикального scrollа на обычную тонкую линию

88
Браузеры не обновляют стили css

Браузеры не обновляют стили css

возникла проблема, не могу понять в чем делоВерстаю в VS code изменения в life server

154