У меня есть оператор вставки, который в данный момент работает, но он вставляется в таблицу mysql, соединенную с другой, и использует параметры, связанные с предыдущим запросом
$insertProduct = "
INSERT INTO productData (id,product,categoryID)
SELECT
id,
product,
categoryID
FROM skus s
INNER JOIN category sg
ON s.categoryID = sg.id
WHERE s.product=:product AND s.detail1=:dtl1 AND s.detail2=:dtl2
";
Это работает отлично, но теперь моя исходная таблица и таблица, к которой я присоединяюсь, устарели и удалены, но преобразованы в API, который уже существует.
Я могу получить нужные мне данные из API в вызове curl, вот так
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'http://api/testProd',
CURLOPT_HTTPHEADER => array(
'accept: application/json',
'X-API-Key: /*key omitted*/',
'X-Fields: id,product.category.id'
)
));
$resp = curl_exec($ch);
print_r($resp);
curl_close($ch);
Это возвращает только до 1000 записей, а в источнике API их больше.
У меня вопрос: могу ли я реорганизовать мою вставку для использования вызова API вместо исходной таблицы и объединенной таблицы?
Это те же самые точные данные, но моя вставка находится в цикле while, поэтому в основном в цикле я смотрю на предыдущие параметры и выполняю вставку на основе этих параметров, вызывая API.
Так что если dtl1
и dtl2
из моих параметров равны 'Red' и '4' соответственно, моя вставка, выполняющаяся в цикле while, будет смотреть на API для продукта с 'Red' и '4' как эти детали.
Надеюсь, я смогу перевести это на использование вызова API вместо моей таблицы mysql.