mysql对树形结构表逐级赋值的update语句

UPDATE 表名
SET first_id = SUBSTRING_INDEX("-11/22/33/","/",1),
	second_id = IF(SUBSTRING_INDEX("-11/22/33/","/",2) = "-11/22/33/",0,SUBSTRING_INDEX(SUBSTRING_INDEX("-11/22/33/","/",2),"/",-1)),
	third_id = IF(SUBSTRING_INDEX("-11/22/33/","/",3) = "-11/22/33/",0,SUBSTRING_INDEX(SUBSTRING_INDEX("-11/22/33/","/",3),"/",-1)),
	fourth_id = IF(SUBSTRING_INDEX("-11/22/33/","/",4) = "-11/22/33/",0,SUBSTRING_INDEX(SUBSTRING_INDEX("-11/22/33/","/",4),"/",-1)),
	fifth_id = IF(SUBSTRING_INDEX("-11/22/33/","/",5) = "-11/22/33/",0,SUBSTRING_INDEX(SUBSTRING_INDEX("-11/22/33/","/",5),"/",-1)),
	sixth_id = IF(SUBSTRING_INDEX("-11/22/33/","/",6) = "-11/22/33/",0,SUBSTRING_INDEX(SUBSTRING_INDEX("-11/22/33/","/",6),"/",-1)),
    first_name = SUBSTRING_INDEX("一级名称/二级名称/三级名称/","/",1),
	second_name = IF(SUBSTRING_INDEX("一级名称/二级名称/三级名称/","/",2) = "一级名称/二级名称/三级名称/",NULL,SUBSTRING_INDEX(SUBSTRING_INDEX("一级名称/二级名称/三级名称/","/",2),"/",-1)),
	third_name = IF(SUBSTRING_INDEX("一级名称/二级名称/三级名称/","/",3) = "一级名称/二级名称/三级名称/",NULL,SUBSTRING_INDEX(SUBSTRING_INDEX("一级名称/二级名称/三级名称/","/",3),"/",-1)),
    fourth_name = IF(SUBSTRING_INDEX("一级名称/二级名称/三级名称/","/",4) = "一级名称/二级名称/三级名称/",NULL,SUBSTRING_INDEX(SUBSTRING_INDEX("一级名称/二级名称/三级名称/","/",4),"/",-1)),
    fifth_name = IF(SUBSTRING_INDEX("一级名称/二级名称/三级名称/","/",5) = "一级名称/二级名称/三级名称/",NULL,SUBSTRING_INDEX(SUBSTRING_INDEX("一级名称/二级名称/三级名称/","/",5),"/",-1)),
	sixth_name = IF(SUBSTRING_INDEX("一级名称/二级名称/三级名称/","/",6) = "一级名称/二级名称/三级名称/",NULL,SUBSTRING_INDEX(SUBSTRING_INDEX("一级名称/二级名称/三级名称/","/",6),"/",-1))
WHERE enabled_flag = 1;

注意事项:"-11/22/33/"或"一级名称/二级名称/三级名称/"替换为表中的字段,字段里面最后的【/】是必须要带上的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值