该问题被简化以减少混乱。如何检查外键对象是否属于某种类型
在我的数据库中有2个表格。 1个“产品”表和1个“通知”表。 此产品可以是3种类型,由枚举(ENUM('SERVER', 'SERVICE', 'APPLICATION')
)定义。
通知包含产品的外键,其ID。
当我创建通知时,我想检查给定的ForeignKey是否为'APPLICATION'类型。我能进行这样的检查吗?如果是这样,这是由CHECK
完成?
据我知道,我可以检查的唯一事情是一个值(例如CHECK(foo > 0)
)
现在,这似乎是一个很好的解决方案。如果没有其他答案会发布,这将是我的路要走。 但是,在CREATE TABLE中实现CHECK或CONSTRAINT的另一种选择是不可行的选择? – creulcat
这似乎是你最好的选择imo – Anton
@creulcat就我所知的MySql而言,没有其他办法可以做远距离约束检查而不是触发器... – Blag