Как сделать запись в таблицу одним запросом, если полей 6, а значение одно?
Удаляю запись из таблицы order и записываю ее в order_archive. Появилась потребность при добавлении данных в order_archive записывать дополнительно поле supply_id, которого в таблице order нет. Проблема в том, что у меня в запросе 6 полей, а значение одно, так как остальные берутся из таблицы order. Как это все объединить в одном запросе?
if ( isset ( $_POST['id'] ) && isset($_POST['supply_id']) )
{
$supply_id = $_POST['supply_id'];
$ids = implode( ',', $_POST['id'] );
$query = ("
INSERT INTO `order_archive`(`id`, `user_id`, `articul_id`, `barcode`, `quantity`, `supply_id`) VALUES ($supply_id)
SELECT `id`, `user_id`, `articul_id`, `barcode`, `quantity` FROM `order` WHERE `id` IN ($ids);
DELETE FROM `order` WHERE `id` IN ($ids)");
if(mysqli_multi_query($db, $query)) {
echo 'В поставку добавлены: ' .$ids;
} else {
echo "Error querying database: " . mysqli_error($db);
}
}
Источник: Stack Overflow на русском