存储mysql树关系更改的最佳方法是什么?

时间:2015-08-21 06:39:39

标签: mysql tree revision-history

我找到了解决方法,但我不喜欢它。因为每次我们改变一个关系时,我们必须复制所有树记录而不是一个记录。谁有任何想法如何以其他方式做,或优化我 - 欢迎你!谢谢!

最简单的自我自我树表:

`categoies`
    id|parent_id|label|
    --+---------+------
    1   NULL      A
    2   1         B
    3   2         C
    4   3         D
    5   4         E

“A> B> C> D> E”嵌套集

我想保存所有关系更改。我想我需要这样做: 添加表修订

`revisions`
id |       created       |
---+----------------------
1     2015-02-02 09:00:00
2     2015-03-02 09:01:00
3     2015-04-02 09:00:00
4     2015-04-07 09:02:00

更改表categories

`categoies`
    id|label|
    --+-------
    1   A
    2   B
    3   C
    4   D
    5   E

添加表格category_revisions

    `category_revisions`
        id|rev_id|category_id|parent_category_id|
        --+------+-----------+-------------------
        1   1         1           null
        2   1         2           1
        3   1         3           2
        4   1         4           3
        5   1         5           4                # A > B > C > D > E

        6   2         1           null
        7   2         2           1
        8   2         3           1
        9   2         4           3
        10  2         5           4                # A > B 
                                                   #   > C > D > E

0 个答案:

没有答案