Magento 2 - How to delete all special prices
If you ever need to remove all special/sale prices from a Magento 2 installation, you can use the following SQL to do so.
First step, back up your databases if you haven’t already. Specifically the catalog_product_entity_decimal
table.
Then run the following SQL:
DELETE FROM catalog_product_entity_decimal
WHERE attribute_id IN (SELECT attribute_id FROM eav_attribute WHERE attribute_code = ‘special_price’);
If you want to see what it’s going to delete beforehand, run this query instead:
SELECT * FROM catalog_product_entity_decimal
WHERE attribute_id IN (SELECT attribute_id FROM eav_attribute WHERE attribute_code = ‘special_price’);
After it has completed, run bin/magento indexer:reindex
to reindex the changed prices.