prestashop从特定id中删除产品

mcvgt66p  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(338)

所以我正试图将新产品导入我的网店,但我真的需要将9000个产品从一个特定的id删除到最后一个。另外,如果该方法将删除与产品相关的图片,那将是非常好的。

fsi0uk1n

fsi0uk1n1#

下面的代码就是基于这个答案[solved]从数据库中删除大量产品(10420个产品)。
我刚加了个条件 WHEREid_productBETWEEN 666 AND 9666 . 你应该把你的上下限放在那里。代码在每次运行时删除1000个产品以避免超时。

<?php
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.inc.php');
include(dirname(__FILE__) . '/init.php');

$res = Db::getInstance()->executeS('SELECT `id_product` FROM `'._DB_PREFIX_.'product` WHERE `id_product` BETWEEN 666 AND 9666 ORDER BY `id_product` DESC LIMIT 1000 ');
echo "<p>(".date('Y/m/d H:i:s').") Starting to delete products...</p>";
if ($res) {
    foreach ($res as $row) {
        echo "<p>(".date('Y/m/d H:i:s').") Deleting product with ID <b>".$row['id_product']."</b>...";
        $p = new Product($row['id_product']);
        if(!$p->delete()) {
            echo " <span style='color: red'>Error deleting this product!</span></p>";
        } else {
            echo " <span style='color: green'>DELETED</span></p>";
        }
    }
}
?>

<script>
window.location.reload();
</script>

相关问题