如果你想通过后台去删除,你会发现Magento后台提供的产品批量删除功能几乎不能用。这是因为Magento采用EAV的数据库设计模式,一个产品的数据记录会关联存储在十几、二十多个表中,那么在删除产品数据时程序将会使用事务处理;但在批量删除大量的产品数据时,服务器的性能可能有限,导致MySQL在执行时非常缓慢,甚至超时被中止。
后来想,既然Magento后台删除不行,我们就直接从数据库操作,但是产品数据到底和哪些表相关呢,要如何才能完整干净的清除所有的产品呢?
下面提供一段SQL代码用于清空全部产品数据,执行之前请务必备份好您的数据库!

阿里云-推广AD

TRUNCATE TABLE ‘catalog_product_bundle_option’;  
TRUNCATE TABLE ‘catalog_product_bundle_option_value’;  
TRUNCATE TABLE ‘catalog_product_bundle_selection’;  
TRUNCATE TABLE ‘catalog_product_entity_datetime’;  
TRUNCATE TABLE ‘catalog_product_entity_decimal’;  
TRUNCATE TABLE ‘catalog_product_entity_gallery’;  
TRUNCATE TABLE ‘catalog_product_entity_int’;  
TRUNCATE TABLE ‘catalog_product_entity_media_gallery’;  
TRUNCATE TABLE ‘catalog_product_entity_media_gallery_value’;  
TRUNCATE TABLE ‘catalog_product_entity_text’;  
TRUNCATE TABLE ‘catalog_product_entity_tier_price’;  
TRUNCATE TABLE ‘catalog_product_entity_varchar’;  
TRUNCATE TABLE ‘catalog_product_link’;  
TRUNCATE TABLE ‘catalog_product_link_attribute’;  
TRUNCATE TABLE ‘catalog_product_link_attribute_decimal’;  
TRUNCATE TABLE ‘catalog_product_link_attribute_int’;  
TRUNCATE TABLE ‘catalog_product_link_attribute_varchar’;  
TRUNCATE TABLE ‘catalog_product_link_type’;  
TRUNCATE TABLE ‘catalog_product_option’;  
TRUNCATE TABLE ‘catalog_product_option_price’;  
TRUNCATE TABLE ‘catalog_product_option_title’;  
TRUNCATE TABLE ‘catalog_product_option_type_price’;  
TRUNCATE TABLE ‘catalog_product_option_type_title’;  
TRUNCATE TABLE ‘catalog_product_option_type_value’;  
TRUNCATE TABLE ‘catalog_product_super_attribute’;  
TRUNCATE TABLE ‘catalog_product_super_attribute_label’;  
TRUNCATE TABLE ‘catalog_product_super_attribute_pricing’;  
TRUNCATE TABLE ‘catalog_product_super_link’;  
TRUNCATE TABLE ‘catalog_product_enabled_index’;  
TRUNCATE TABLE ‘catalog_product_website’;  
TRUNCATE TABLE ‘catalog_product_entity’;  
TRUNCATE TABLE ‘cataloginventory_stock’;  
TRUNCATE TABLE ‘cataloginventory_stock_item’;  
TRUNCATE TABLE ‘cataloginventory_stock_status’;
 
insert into ‘catalog_product_link_type'(‘link_type_id’,’code’) values (1,’relation’),(2,’bundle’),(3,’super’),(4,’up_sell’),(5,’cross_sell’);  
insert into ‘catalog_product_link_attribute'(‘product_link_attribute_id’,’link_type_id’,’product_link_attribute_code’,’data_type’) values (1,2,’qty’,’decimal’),(2,1,’position’,’int’),(3,4,’position’,’int’),(4,5,’position’,’int’),(6,1,’qty’,’decimal’),(7,3,’position’,’int’),(8,3,’qty’,’decimal’);  
insert into ‘cataloginventory_stock'(‘stock_id’,’stock_name’) values (1,’Default’);