下面是有问题的数据库摘录。我需要强制执行ParamInstance
不能从不同于该DomainParam
所属的DomainInstance
的DomainType链接到ParameterInstance
。如何实现?
答案 0 :(得分:0)
在ParamInstance
上添加一列,称为domainType
。
然后替换外键:
ALTER TABLE ParamInstance
ADD FOREIGN KEY (member, domainType) REFERENCES DomainParam (id, domain),
ADD FOREIGN KEY (dmoain, domainType) REFERENCES DomainInstance (id, type);
首先必须在那些引用的表中创建新的UNIQUE KEY:
ALTER TABLE DomainParam ADD UNIQUE KEY (id, domain);
ALTER TABLE DomainInstance ADD UNIQUE KEY (id, type);