Перемещение из одной таблицы в другую

Мне нужно переместить некоторые данные из таблицы в таблицу архива.

Теперь я делаю это так:

$sql = 'INSERT INTO history_products SELECT * FROM products WHERE category_id='.$id; 

Затем я удаляю данные из таблицы продуктов.

 $sql_delete = 'DELETE FROM products WHERE category_id = '.$id; 

Каждый продукт имеет уникальный идентификатор. Но я хочу сделать это безопасным способом, теперь, даже если строка не вставлена ​​в history_products, строка будет удалена из таблицы продуктов. Я не хочу удалять, если вставка терпит неудачу.