nodeid,表示节点唯一性值,primary and unique
parent,表示某节点的父节点引用。
由于nodeid和parent是在同一张表中,不能用主外键约束,
我对数据库不是很熟悉,不知道在同表中的能否表达这种概念:
就是nodeid的所在行row被删除,在数据库层导致任何parent为
该[nodeid]值的行自动被删除,并且递归处理。
具体如能结合mysql/innodb,oracle,sqlserver任何一例描述更好,
thanks
CREATE TABLE 和 ALTER TABLE 语句的 REFERENCES 子句支持 ON DELETE 和 ON UPDATE 子句
ON DELETE { CASCADE | NO ACTION }
ON UPDATE { CASCADE | NO ACTION } (默认为 NO ACTION)
当用户试图删除或更新外键所指向的键时,如果选项是CASCADE,那么会自动触发。
以前学习oracle的时候知道也支持cascade delete (但是不知道具体的版本,8i or 9i),你得查找一下文档。
mysql的话,好像没有这个特性。
现在msyql/innodb肯定支持级联操作了。
不过要对这张表先建索引。
猜你喜欢
本站原创《复杂软件设计之道:领域驱动设计全面解析与实战》