mysql 触发器更新本表问题

时间:2020-12-09 11:01:40
更新触发器中的更新本表的写法
是set new.id=id


但是我现在所更新的是一颗树,父节点更新变了   子节点也要更这更新路径
单更新触发器只能更新当前行,求高手指导!!

5 个解决方案

#1


举例说明,建立外键关系没有?表结构是怎样的,记录是怎样的

#2


引用 1 楼 wwwwb 的回复:
举例说明,建立外键关系没有?表结构是怎样的,记录是怎样的

fid    fpid      fpath
123      -1       /123
1234    123       /123/1234
1235    123       /123/1235
2134    1234      /123/1234/2134
表结果如上
如果我更新fid=1234节点的fpid为‘1235’
对应的fpath 应该更新 /123/1235/1234
其子节点2134  的fpath 也应更新成/123/1235/1234/2134

#3


子节点有多个  不是单单一个

#4


用TRIGGER无法解决子节点fpath的更新,用SP来解决吧

#5


有递归的逻辑   用存储过程写比较清晰

#1


举例说明,建立外键关系没有?表结构是怎样的,记录是怎样的

#2


引用 1 楼 wwwwb 的回复:
举例说明,建立外键关系没有?表结构是怎样的,记录是怎样的

fid    fpid      fpath
123      -1       /123
1234    123       /123/1234
1235    123       /123/1235
2134    1234      /123/1234/2134
表结果如上
如果我更新fid=1234节点的fpid为‘1235’
对应的fpath 应该更新 /123/1235/1234
其子节点2134  的fpath 也应更新成/123/1235/1234/2134

#3


子节点有多个  不是单单一个

#4


用TRIGGER无法解决子节点fpath的更新,用SP来解决吧

#5


有递归的逻辑   用存储过程写比较清晰