Тема: mysql multi insert
Показать сообщение отдельно
  #20 (permalink)  
Старый 09.11.2020, 16:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Да, не получится при многострочной вставке проверить, так как нельзя выбрать группы записей у несуществующего и сослаться не на что. Без временной таблицы не обойтись. Только в цикле:

var data = [
    [code, quantity, ....],
    [code, quantity, ....],
    ....
];

data.forEach((d)=> {
    query('INSERT INTO sales (code, quantity, ...) SELECT ' + d.join(',') + ' WHERE (SELECT stock FROM pi WHERE code=' + d.code + ') >=' + d.quantity)
})

Последний раз редактировалось laimas, 09.11.2020 в 17:15.
Ответить с цитированием