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

удалить товар в базе mysql [решено]

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

Дано:

товар в таблицах.

product

product_description

 

больше не где по моему не фигурирует, так как добавляется из прайса.

 

Нужно:

Удалить нужно по регулярному выражению.

пишу запрос в базу

SELECT * FROM `product_description` WHERE `name` LIKE "%уценка%";

нужно наверное вложенный запрос делать, чтоб по  product_id  в таблице product удалить?

 

и как его сделать запутался в мануалах совсем....

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


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

Если нужно удалить все товары в этих таблицах, то можно выбрать функцию "Очистить таблицы"

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


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


DELETE FROM `имя_базы`.`product_description` WHERE `name` LIKE '%уценка%'

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


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

Если нужно удалить все товары в этих таблицах, то можно выбрать функцию "Очистить таблицы"

Нет, по регулярному выражению %уценка%

 

DELETE FROM `имя_базы`.`product_description` WHERE `name` LIKE '%уценка%'

Да, я понял, а как  в таблице product удалить?

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


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

Вот здесь очень подробно описаны вложенные запросы.

Только тогда в product_description удаляем в последнюю очередь.

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


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

Вообще-то товары хранятся еще много где:

product_option, product_option_value, product_image, product_to_category, product_to_manufacturer.

Если удалить только из product, то товара тоже не будет, но лучше мусор в базе не разводить.

$query = $db->query("SELECT product_id FROM `product_description` WHERE `name` LIKE '%уценка%'");
$this->load->model('catalog/product');
foreach ($query->rows as $item) {
    $this->model_catalog_product->deleteProduct($item['product_id']);
}

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


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

Всё проблема решена, если учитывать что хвостов нет, то можно так.

DELETE av_product, av_product_description FROM av_product INNER JOIN av_product_description ON av_product.product_id = av_product_description.product_id WHERE av_product_description.name LIKE "%уценка%";

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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