Можете да опитате следното. Трябва да създадете излишно УНИКАЛНО ограничение на (id, aId)
в родител (SQL е доста тъпо, нали?!).
CREATE TABLE Child
(parentId INTEGER NOT NULL,
aId INTEGER NOT NULL UNIQUE,
FOREIGN KEY (parentId,aId) REFERENCES Parent (id,aId),
createdOn TIMESTAMP NOT NULL);
Вероятно много по-добро решение би било напълно да премахнете parentId от таблицата Child, да добавите bId
вместо това и просто препратете към родителската таблица въз основа на (aId, bId)
:
CREATE TABLE Child
(aId INTEGER NOT NULL UNIQUE,
bId INTEGER NOT NULL,
FOREIGN KEY (aId,bId) REFERENCES Parent (aId,bId),
createdOn TIMESTAMP NOT NULL);
Има ли причина да не можете да направите това?