I recently got the following error message in Magento when trying to “mass update” products through attributes even though I knew every product had an SKU value –
“Some of the processed products have no SKU value defined. Please fill it prior to performing operations on these products.”
I double checked this by
- querying MySQL database with – ‘select * from catalog_product_entity order by SKU;’
- doing a products export through the admin system – System/ImportExport/Export, Entity Type = Products & hit continue button
WARNING! – before making ANY SQL changes to your Magento database, please BACKUP your data! Better still when working on fixing errors, copy the database and file structure locally onto your machine and then work on the solution first BEFORE updating your live system!
So, I then went down the route of investigating if “custom options” affected this too – do these “require” an SKU too ? To check I ran the following MySQL queries –
- ‘select * from catalog_product_option order by SKU;’
- ‘select * from catalog_product_option_type_value order by SKU;’
These SKU values were all blank, so I ran the following MySQL updates –
- ‘update catalog_product_option set sku = option_id;’
- update catalog_product_option_type_value set sku = option_type_id;
Still no joy in fixing the error …..
I then looked at the main product SKU values more closely and discovered 2 products had SKU values of 0 and 1 & all the rest had ALPHANUMERIC codes. I changed these two values to generic alphanumerics and voila! It works ….
Moral of the story – don’t always believe an error message!