Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
问题是关于 Sqlite DBMS。
我有两张桌子:
如何为表 2 编写 INSERT 和 UPDATE 触发器以检查循环依赖关系?
对象依赖关系示例:
A -> B -> C --- 好的
A -> B -> C -> A --- 引发条件
我了解如何检查直接依赖项 A -> B,但不知道如何检查任何级别。
你正在推动众所周知的上坡。
一个相当简单的解决方案(在您的情况下可能可行也可能不可行)是对第二个表进行约束:id > id_parent. 这将无法创建循环图:
id > id_parent
CREATE TABLE deps ( id NOT NULL, id_parent NOT NULL, CHECK ( id > id_parent ) )