1

我一直在寻找一种方法来约束超类的记录以参与其子类记录之一,我相信它被称为参与{强制 OR}。我找到了一些关于如何使用 CONSTRAINT CHECK 的示例,但仅用于限制多重性。

尽管我可以使用将要使用数据库的应用程序逻辑来保护这一点,但我更喜欢使用数据库定义语言设置约束。

有可能这样做吗?

下面我上传了一张图片,说明了我想要实现的目标,正如您在消息表中看到的那样,有一条消息既不匹配 UserMessage 也不匹配 GroupMessage。

在此处输入图像描述

4

1 回答 1

2

如果没有MySQL 不支持的延迟外键,这不能以声明方式完成。

更多信息在这里这里这里

于 2013-06-27T16:44:16.833 回答