我有数据库表,如:
rcParams
我想获取父类别的id并使用sql查询存储到parent_id。
例如:在第3行中,'cat1'是'cat3'的父类别,我想获取父类别的ID并存储到id name fullname parent_id
-- ---- ----------------- ---------
1 cat1 cat0 > cat1 null
2 cat2 cat0 > cat1 > cat2 null
3 cat3 cat1 > cat3 null
字段。
我使用
分出了父猫的名字parent_id
我可以从哪里命名父类别。
期望输出如。
select id,name,
substring_index(
substring_index(fullname, '>', -2),'>',1)
as parent from categories
答案 0 :(得分:2)
您可以通过简单的联接获取父级:
select c.*, cp.id as parentid
from categories c join
categories cp
on c.fullname = concat(cp.fullname, ' > ', c.name);
您可以将其直接转换为update
:
update categories c join
categories cp
on c.fullname = concat(cp.fullname, ' > ', c.name)
set c.parentid = cp.id;