DB在这里完全newb ...试图做简单的程序,以帮助我的地区周围的孤儿院。问题:假设我有表A和表B通过外键约束引用表C。如果表B中的元素Y已经引用了X,是否有办法阻止表A中的插入引用表C中的元素X?如果两个其他表之间的引用存在,如何将插入块阻塞到表中?
表A:空
表B:Y(参考X)
表C:X
尝试在表中插入Z(参考X)
表A:Z(参考X )< < ---阻止
表B:Y(参考X)
表C:X
对不起,我福利局问题,我第一次尝试用一个数据库......虽然我已经做了一些研究,但我甚至不知道放置搜索栏来寻找这种情况的适当条件。
嵌入式sqlite – Mateus
欢迎来到Stackoverflow!我认为你需要在这里了解一些理论。像依赖关系,参照完整性等。 – bonCodigo
是@bonCodigo,我最近一直在阅读东西。我读过它,发现这个问题(处理独占子类型)是经常性的,没有“普遍接受的答案”。尽管我可能比平常的开发者挣扎更多,因为我不习惯db开发。现在看来我的问题是试图在sql中进行每个'db-to-reality-representation'一致性检查,并且不会对应用程序层使用这个负责任......这是另一场战争:业务逻辑应该在哪里......尽管我很想在sql中看到每个规则,猜测这不是要走的路... – Mateus