Mysql 基于同一表的内容更新表
我有一张桌子:Mysql 基于同一表的内容更新表,mysql,Mysql,我有一张桌子: id, number, name, display_name 0001, 1, Category 1, null 0001-0002, 2, Category 2, null 0001-0002-0003, 3, Category 3, null id是类别的完整路径,编号只是最终类别编号。 我想更新显示名称,以包括路径中所有类别的全名,因此它们最终将作为 0001, 1, Category 1, Category 1 0001-0002, 2, Category 2, Ca
id, number, name, display_name
0001, 1, Category 1, null
0001-0002, 2, Category 2, null
0001-0002-0003, 3, Category 3, null
id是类别的完整路径,编号只是最终类别编号。
我想更新显示名称,以包括路径中所有类别的全名,因此它们最终将作为
0001, 1, Category 1, Category 1
0001-0002, 2, Category 2, Category 1 > Category 2
0001-0002-0003, 3, Category 3, Category 1 > Category 2 > Category 3
我知道我可以通过对数字列的查找来动态生成这些数据,但是这个表不需要经常更改,但是它有很多查找--不只是计算和存储一次数据似乎很浪费。我可以用php来做,但是速度很慢,我想有更好的方法来做吗?或许我只是用了一种完全错误的方式。我意识到桌子上有很多多余的东西。。。我很乐意听取任何意见
我尽可能地
update categories set display=(select name from (select name from categories where number=1) t) where number=1
但这显然只是将名称复制到显示名称。规范化您的表,您就不会有上述头痛的问题。我基于第三方来源获取此数据,因此我只能使用它。也就是说,数据是标准化的,我只是为了性能原因而去标准化。您有多少个级别?