Database 批量删除自定义选项magento中所需的参数

Database 批量删除自定义选项magento中所需的参数,database,magento,field,product,unset,Database,Magento,Field,Product,Unset,我的数据库中有大约10000个产品,它们都有自定义选项,并且都设置为必需 我需要按要求取消设置。 请建议我如何动态执行此操作。 我不想从magento管理员那里一个接一个地做这件事,因为那将花费永远的时间 谢谢您可以使用通过csv导入产品来更新这些产品所需的参数。我想,你们已经通过csv进口了产品。只需将SKU和自定义字段选项复制到新的csv文件中即可 然后再进口这些产品。如果您想重置所有产品的所有自定义选项的必需字段,它将根据您的需要更新自定义选项必填字段。这是一种快速而肮脏的方法 所有自定义

我的数据库中有大约10000个产品,它们都有自定义选项,并且都设置为必需

我需要按要求取消设置。
请建议我如何动态执行此操作。
我不想从magento管理员那里一个接一个地做这件事,因为那将花费永远的时间


谢谢

您可以使用通过csv导入产品来更新这些产品所需的参数。我想,你们已经通过csv进口了产品。只需将SKU和自定义字段选项复制到新的csv文件中即可


然后再进口这些产品。如果您想重置所有产品的所有自定义选项的
必需
字段,它将根据您的需要更新自定义选项必填字段。这是一种快速而肮脏的方法

所有自定义选项都存储在表
catalog\u product\u option

决定是否需要该选项的列名是
是\u require

因此,运行这个查询应该可以做到这一点

UPDATE `catalog_product_option` SET `is_require` = 0 WHERE 1

如果您有表格前缀,请添加它。

我只是在扩展马吕斯的答案。我需要这样做,但只是为了一些我偶然需要的定制选项。我想这可能会帮助其他做出类似错误计算的人-D

UPDATE catalog_product_option o
JOIN catalog_product_option_title t ON t.option_id=o.option_id 
SET o.is_require = 0
WHERE t.title = 'Additional Comments'
AND o.is_require = 1
幸运的是,我导入的所有选项都有相同的标题,因此我能够以这种方式进行筛选

如果将SKU用于自定义选项,则可能会进一步简化查询,因为它不需要联接

UPDATE catalog_product_option o
SET o.is_require = 0
WHERE o.sku = 'SKU1234'
AND o.is_require = 1
^没有测试过,但是看看应该工作的表的结构