@ART4

Запрос SQL для внесения данных?

Добрый день, делаю парсинг один. Вот sql затупил я что то.
Парсинг всё отлично, но при закачке товара товится нечто.
Парсит характеристики товара, Скрин базы
d8857d5e3a.png
Вот скрин самой админки товара
2284c5ee18.png
Вроде заливает, всё на свои места. Но встал вопрос:
ID товара идёт через запрос (SELECT MAX(id) FROM s_products)
И когда мы нажимаем на парсинг ещё раз, то товары заного создаются, а не обновляет те которые уже есть.
Вот запрос:
INSERT INTO s_products(url,name,brand_id,meta_title,meta_keywords,meta_description) VALUES ((SELECT MAX(product_id) FROM s_lang_products),'%Название%','0','%Название%','%Название%','%Название%');
INSERT INTO s_products_categories(product_id,category_id,position) VALUES ((SELECT MAX(id) FROM s_products),'24','0');
INSERT INTO s_lang_products(lang_id,product_id,name,meta_title,meta_keywords,meta_description,special) VALUES ('1',(SELECT MAX(id) FROM s_products),'%Название%','%Название%','%Название%','%Название%','NULL');
INSERT INTO s_variants(id,product_id,price) VALUES ((SELECT MAX(id) FROM s_products),(SELECT MAX(id) FROM s_products),(SELECT MAX(id) FROM s_products));
INSERT INTO s_options(product_id,feature_id,lang_id,value) VALUES ((SELECT MAX(id) FROM s_products),'5','1','%Назначение%');
INSERT INTO s_options(product_id,feature_id,lang_id,value) VALUES ((SELECT MAX(id) FROM s_products),'6','1','%Сезон%');
INSERT INTO s_options(product_id,feature_id,lang_id,value) VALUES ((SELECT MAX(id) FROM s_products),'7','1','%Ширина профиля%');
INSERT INTO s_options(product_id,feature_id,lang_id,value) VALUES ((SELECT MAX(id) FROM s_products),'8','1','%Серия (высота профиля)%');
INSERT INTO s_options(product_id,feature_id,lang_id,value) VALUES ((SELECT MAX(id) FROM s_products),'9','1','%Посадочный диаметр%');

1 запрос добавляет товар
Не закидывайте комнями, я не очень силён в sql, но если заменить INSERT на UPDATE то выбивает ошибку.
Подскажите как сделать, чтоб при запросе товар если есть то он его только обновляет, а если нету добавляет?
  • Вопрос задан
  • 150 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы