使用 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 来减少垃圾评论。了解你的评论数据如何被处理