Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как удалить много лишних дублей главного изображения товара?


Kazbek86

Recommended Posts

Добрый день уважаемые знатоки. Возникла проблема в дублях главного изображения товара. В файле выгрузки видноspacer.png что изображения дублируются, но в карточке товара дубля нет. На сервере дублей также нет.  Стоит модуль easyphoto, после его отключения дубли отображаются в карточке товара и можно удалить. Но, товаров в которых присутствует дубль приблизительно 500 шт, и заходить в каждый товар и в ручную удалять очень долго и муторно. Подскажите, есть ли какое нибудь решение в этой ситуации? 

Заранее благодарен. 

Надіслати
Поділитися на інших сайтах


что то типа

DELETE FROM oc_product_image pi LEFT JOIN oc_product p ON p.product_id = pi.product_id WHERE pi.image = p.image

 

код не тестил делайте бекап

  • +1 1
Надіслати
Поділитися на інших сайтах

В 19.11.2020 в 16:51, spectre сказал:

что то типа


DELETE FROM oc_product image pi LEFT JOIN oc_product p ON p.product_id = pi.product_id WHERE pi.image = p.image

 

код не тестил делайте бекап

не идет, или я что то не правильно делаю.

 

Ответ MySQL: Документация

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'image pi LEFT JOIN oc_product p ON p.product_id = pi.product_id WHERE pi.image =' at line 1

Змінено користувачем Kazbek86
Надіслати
Поділитися на інших сайтах


2 минуты назад, spectre сказал:

там подчеркивание надо в oc_product_image

исправил, не помогло

SQL запрос:

 

DELETE FROM oc_product_image pi LEFT JOIN oc_product p ON p.product_id = pi.product_id WHERE pi.image = p.image

 

Ответ MySQL: Документация

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'pi LEFT JOIN oc_product p ON p.product_id = pi.product_id WHERE pi.image = p.ima' at line 1

 

Надіслати
Поділитися на інших сайтах


1 час назад, Kazbek86 сказал:

ON p.product_id = pi.product_id

ON (p.product_id = pi.product_id)   

Надіслати
Поділитися на інших сайтах

2 часа назад, fanatic сказал:

ON (p.product_id = pi.product_id)   

нет, снова ошибка

SQL запрос:

 

DELETE FROM oc_product_image pi LEFT JOIN oc_product p ON (p.product_id = pi.product_id) WHERE pi.image = p.image

 

Ответ MySQL: Документация

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'pi LEFT JOIN oc_product p ON (p.product_id = pi.product_id) WHERE pi.image = p.i' at line 1

Надіслати
Поділитися на інших сайтах


8 часов назад, AlexDW сказал:

DELETE pi FROM oc_product_image pi LEFT JOIN oc_product p ON p.product_id = pi.product_id WHERE pi.image = p.image;

 

Супер, все заработало! Проверил дублей нет.

 

Удалено 808 строк. (Запрос занял 0.3327 сек.)

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.