首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大量产品类别更新(在所有产品中添加` `home`‘类别)- Prestashop 1.6.0.6

大量产品类别更新(在所有产品中添加` `home`‘类别)- Prestashop 1.6.0.6
EN

Stack Overflow用户
提问于 2014-06-24 14:27:05
回答 1查看 6.8K关注 0票数 2

我注意到,所有产品的数量并不等于home类别中的产品数量。这是因为在产品添加过程中,这个最大的父类别并不总是被选中。因此,有些产品属于home,而另一些则不属于。

虽然我需要为类别home页面显示正确的产品数量,但我在数据库中查找的是包含类别但在ps_productps_product_lang中找不到的列。

一个sql查询背后的想法是什么,它可以大量修改数据库中的适当字段,以便我的所有产品都属于home类别。

我们很感谢你平时的帮助。谢谢。

编辑:我发现数据库中的表是ps_category_product。这是唯一的吗?

这张桌子是这样的:

代码语言:javascript
复制
+-------------+------------+----------+
| id_category | id_product | position |
+-------------+------------+----------+
|          11 |          1 |        1 |
|          11 |          2 |        2 |
|          11 |         10 |        3 |
+-------------+------------+----------+

我需要创建x行(x=,产品的数量)。每一行都有id_category=1和id_product=产品id和position= position++。是最好的办法吗?

关于如何在sql中实现它,有帮助吗?

再次感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-24 19:24:17

您可以使用一个简单的SQL查询将每个产品分配给Home类别:

代码语言:javascript
复制
INSERT IGNORE INTO ps_category_product SELECT 2, id_product, 0 FROM ps_product

2通常是Home类别的id_category值,0position

如果您想要唯一的position值,那么您需要一个更复杂的查询:

代码语言:javascript
复制
INSERT IGNORE INTO ps_category_product SELECT 2, id_product, ((SELECT MAX(position) FROM ps_category_product WHERE id_category = 2) + (@inc := @inc + 1)) FROM ps_product INNER JOIN (SELECT @inc := 0) AS i
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24389229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档