mysql:关于递归类表结构的更新?

时间:2015-10-12 13:33:50

标签: mysql

我有类别表:

category (id_category, parent_id, color)

由于 parent_id 字段,此单表用于存储类别under_categories under_under_categories。

我的目标是仅更新under_under_categories'颜色,即那些祖父母不是0的人

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您只需要一个简单的UPDATE JOIN查询:

UPDATE category AS c1
INNER JOIN category AS c2 ON c1.father_id = c2.id_category
SET c1.color = 'magenta'
WHERE c2.father_id <> 0;

c2.father_id是父亲的父亲。如果它不等于0,则会检测并更新'under_under_category'。

Demo here