使用 SQL修复树形结构表的层级路径字段

0
(0)

初始化为 null

# update category set tree_position = null;

假设最大层级是3层,则执行至少执行三次下面的 update,多执行也没事

UPDATE category c LEFT JOIN category p on p.id_ =c.parent_id
SET c.tree_position = if(c.parent_id = 0,null,if(p.tree_position is null ,p.id_,concat(p.tree_position,'&', p.id_))) where c.tree_position not like concat('%',p.tree_position,'&',p.id_)
 or c.tree_position is null;

这篇文章有用吗?

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位评论此文章。

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据