Перейти к содержанию
BifLee

SQL Запрос на удаление товаров без картинок

Рекомендуемые сообщения

Приветствую. Импортирую товары в магазин автоматически, какой-то сбой произошёл и у некоторых товаров отсутствуют картинки (порядка 100 штук товаров). К сожалению, так и не добрался до изучения SQL, поэтому, если не трудно, прошу написать запрос на удаление товаров без картинки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

всегда советую: перед любыми манипуляциями с БД делать копию Бд, чтоб всегда можно было откатить все назад 

фильтром имхо проще воспользоваться из админки

Изменено пользователем alena967

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

там надо много запросов.

Лучше импортируйте картинки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

delete FROM `oc_product` WHERE image = ''

delete FROM `oc_product` WHERE image = null

Как сказали выше, нужно больше запросов, опции, категории и т.д. (везде, где есть id товара), а именно через left join создавать 1 большой.


DELETE a, b FROM `oc_product` a
LEFT JOIN `oc_product_to_category` b
ON (a.product_id=b.product_id)
WHERE a.image = ''

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

бекап бекап бекап

 

CREATE TEMPORARY TABLE tmp  SELECT product_id FROM product  where image = '' ;

DELETE FROM product_description pd JOIN tmp t WHERE pd.product_id = t.product_id

DELETE FROM product_to_category pd JOIN tmp t WHERE pd.product_id = t.product_id

И еще 5 запросов как минимум.

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, buslikdrev сказал:

а именно через left join

почему именно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, chukcha сказал:

почему именно?

не именно left
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем спасибо за помощь, сделал удаление. С бекапом косячу, постоянно забываю их делать, но спасибо за напоминание)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
33 минуты назад, chukcha сказал:

бекап бекап бекап

 

CREATE TEMPORARY TABLE tmp  SELECT product_id FROM product  where image = '' ;

DELETE FROM product_description pd JOIN tmp t WHERE pd.product_id = t.product_id

DELETE FROM product_to_category pd JOIN tmp t WHERE pd.product_id = t.product_id

И еще 5 запросов как минимум.

 


А временную таблицу случаем в конце ненужно? DROP TABLE IF EXISTS tmp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.