Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Magento通过phpmyadmin删除禁用的产品_Mysql_Magento_Phpmyadmin - Fatal编程技术网

Mysql Magento通过phpmyadmin删除禁用的产品

Mysql Magento通过phpmyadmin删除禁用的产品,mysql,magento,phpmyadmin,Mysql,Magento,Phpmyadmin,如何直接从Magento数据库表中删除禁用的或特定的产品 需要在phpmyadmin中运行的查询是什么?或者我需要为此更新哪些表?是的,直接在数据库中进行是一个危险的举动。以编程方式删除禁用产品的最简单方法是: 这是假设您没有使用multistore,其中产品在每个商店视图中可能具有不同的状态 在中使用此代码创建一个php文件 include_once "app/Mage.php"; Mage::init(); Mage::app()->setCurrentStore(Mage_Core_

如何直接从Magento数据库表中删除禁用的或特定的产品


需要在phpmyadmin中运行的查询是什么?或者我需要为此更新哪些表?

是的,直接在数据库中进行是一个危险的举动。以编程方式删除禁用产品的最简单方法是:

这是假设您没有使用multistore,其中产品在每个商店视图中可能具有不同的状态

在中使用此代码创建一个php文件

include_once "app/Mage.php";
Mage::init();
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); // This gives us the rights to delete


$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('status', array('neq' => 1)) // only get disabled
->load();

foreach($collection as $_product) {
    echo 'Deleting: '.$product->getName().'<br />';
    $_product->delete();
}
include_once“app/Mage.php”;
Mage::init();
Mage::app()->setCurrentStore(Mage_Core_Model_app::ADMIN_STORE_ID);//这给了我们删除的权利
$collection=Mage::getModel('目录/产品')
->getCollection()
->addAttributeToSelect(“*”)
->addAttributeToFilter('status',array('neq'=>1))//仅禁用
->加载();
foreach($收集为$\u产品){
回显“删除:”。$product->getName()。
; $\产品->删除(); }

将此代码放入Magento根目录并通过浏览器调用。为了实现自动化,我建议将它放在shell目录中(不要忘记修改app/mage的路径),并每晚通过cron调用它

简短的回答;不能直接从数据库执行此操作。如果您这样做了,您很可能会对您的Magento数据库进行f-up(或者至少使其变得混乱)