我有一张像
这样的表格ID | ParentID |FrontLine| Name | Address
----------------------------------------
1 | Null | | Xyz | Home
2 | 1 | | ABC | Home
3 | 2 | | DEF | Home
4 | 3 | | GHI | Home
5 | 3 | | GHI | Home
我需要用查询填充FrontLine。例如,FrontLine for 1将是2,3,4,5而FrontLine for 3将是4,5
所以查询后的表应该看起来像
ID | ParentID |FrontLine| Name | Address
----------------------------------------
1 | Null |2,3,4,5 | Xyz | Home
2 | 1 |3,4,5 | ABC | Home
3 | 2 |4,5 | DEF | Home
4 | 3 |Null | GHI | Home
5 | 3 |Null | GHI | Home
如何使用MySQL查询执行此操作?
答案 0 :(得分:0)
我认为你不能在一个更新查询中执行此操作。 MySQL不处理树结构查询。 (Oracle有connect by prior
和start with
来组织结构,但MySQL不能这样做。)
我会编写一个存储过程,每次执行时会逐步更新一个级别并增加FrontLine
值。